C语言是当今国际上广泛流行的程序设计语言之一,本书讲解C语言程序设计的基础知识及编程技巧。全书共分12章,包括绪论,基本数据类型及运算,顺序结构程序设计,选择结构程序设计,循环结构程序设计,函数,数组,编译预处理,指针,结构体、共用体和枚举,位运算,文件等内容。书中示例侧重实用性和启发性,通俗易懂,使读者能够快速掌握C语言的基础知识与编程技巧。
样章试读
目录
- 目录
前言
第1章 绪论 1
1.1 程序设计思想 1
1.1.1 程序和程序设计语言 1
1.1.2 算法概述 1
1.1.3 程序设计方法 4
1.1.4 程序设计的基本步骤 4
1.2 C语言简介 5
1.2.1 C语言的发展历史 5
1.2.2 C语言的特点 6
1.2.3 C程序初识 7
1.3 C程序的编码过程 10
1.3.1 编程步骤 10
1.3.2 编码风格 11
1.3.3 学习方法 11
本章小结 11
第2章 基本数据类型及运算 13
2.1 数据类型 13
2.2 常量与变量 14
2.2.1 标识符 14
2.2.2 常量 14
2.2.3 变量 16
2.3 格式输出与输入函数 18
2.3.1 格式输出函数printf 18
2.3.2 格式输入函数scanf 23
2.4 整型数据 26
2.4.1 整型变量 26
2.4.2 整型常量 27
2.5 实型数据 27
2.5.1 实型变量 27
2.5.2 实型常量 28
2.6 字符型数据 28
2.6.1 字符常量 28
2.6.2 字符变量 28
2.7 变量赋初值 30
2.8 各类数值型数据间的混合运算 31
2.8.1 隐式类型转换 31
2.8.2 强制类型转换 32
2.9 算术运算符和算术表达式 32
2.9.1 C语言运算符简介 32
2.9.2 算术运算符及其表达式 33
2.10 赋值运算符和赋值表达式 35
2.10.1 赋值运算符 35
2.10.2 赋值表达式 36
2.11 逗号运算符和逗号表达式 37
本章小结 37
第3章 顺序结构程序设计 38
3.1 结构化程序设计方法 38
3.1.1 结构化程序设计方法的特点 38
3.1.2 三种基本控制结构 38
3.2 C语句概述 39
3.3 字符数据的输入与输出 41
3.3.1 字符格式控制符 42
3.3.2 字符输入/输出函数 43
3.3.3 程序举例 46
本章小结 49
第4章 选择结构程序设计 50
4.1 关系运算符和关系表达式 50
4.2 逻辑运算符和逻辑表达式 51
4.3 选择语句——if语句 52
4.3.1 if语句的基本形式 52
4.3.2 if语句的嵌套形式 57
4.3.3 条件运算符 59
4.4 选择语句——switch语句 60
本章小结 63
第5章 循环结构程序设计 64
5.1 循环语句——while语句 64
5.2 循环语句——do-while语句 66
5.3 循环语句——for语句 67
5.4 嵌套循环 71
5.5 break语句和continue语句 73
5.5.1 break语句 73
5.5.2 continue语句 75
本章小结 76
第6章 函数 77
6.1 函数概述 77
6.1.1 模块化程序设计思想 77
6.1.2 函数的基本概念 78
6.1.3 库函数与用户自定义函数 79
6.2 函数的定义 82
6.2.1 函数定义的一般形式 82
6.2.2 自定义函数在程序代码中的位置 85
6.3 函数的接口与调用 86
6.3.1 函数的参数 86
6.3.2 函数返回值 86
6.3.3 函数调用 88
6.4 局部变量和全局变量 90
6.4.1 局部变量 90
6.4.2 全局变量 91
6.5 函数的高级应用 92
6.5.1 函数的递归调用 92
6.5.2 变量的存储类别 94
6.5.3 内部函数和外部函数 98
本章小结 99
第7章 数组 100
7.1 一维数组的定义和引用 100
7.1.1 一维数组的定义 100
7.1.2 一维数组的初始化 100
7.1.3 一维数组元素的引用 101
7.1.4 一维数组程序举例 102
7.2 二维数组的定义和引用 106
7.2.1 二维数组的定义 106
7.2.2 二维数组元素的引用 106
7.2.3 二维数组的初始化 107
7.2.4 二维数组程序举例 108
7.3 用字符数组表示字符串 111
7.3.1 字符数组的定义 111
7.3.2 字符数组的初始化 111
7.3.3 字符数组的输入和输出 112
7.3.4 字符串处理函数 114
7.3.5 字符数组应用举例 118
7.4 数组作为函数参数 120
7.4.1 数组元素作为函数实际参数 120
7.4.2 数组名作为函数参数 121
7.5 数组综合实例 122
本章小结 126
第8章 编译预处理 127
8.1 宏定义 127
8.1.1 不带参数的宏 127
8.1.2 带参数的宏 130
8.2 文件包含 133
8.2.1 库函数的使用 133
8.2.2 文件包含的使用 135
8.3 条件编译 138
8.3.1#if命令 138
8.3.2#ifdef命令 140
8.3.3#ifndef命令 142
本章小结 143
第9章 指针 144
9.1 内存地址与指针 144
9.1.1 内存地址和内存分配 144
9.1.2 指针和指针变量 148
9.2 指向变量的指针变量 150
9.2.1 指向变量的指针变量的定义 150
9.2.2 指向变量的指针变量的赋值和初始化 150
9.2.3 指向变量的指针变量的引用 152
9.3 指针和数组 153
9.3.1 指向一维数组元素的指针变量 153
9.3.2 指针变量的算术运算和比较 154
9.3.3 通过指针引用一维数组元素 156
9.3.4 指针数组 158
9.4 字符串与指针 158
9.4.1 用字符数组实现 159
9.4.2 用字符指针实现 160
9.4.3 字符串的数组实现和指针实现的区别 162
9.4.4 字符串的数组实现和指针实现的联系 165
9.5 函数与指针 167
9.5.1 指针作为函数的参数 167
9.5.2 返回值为指针的函数 169
9.5.3 函数的指针与通过指针调用函数 171
本章小结 173
第10章 结构体、共用体和枚举 174
10.1 概述 174
10.2 定义结构体类型变量的方法 174
10.2.1 结构体类型声明 174
10.2.2 结构体类型变量的定义 175
10.2.3 结构体类型变量的内存空间 175
10.3 结构体变量成员的引用 176
10.4 结构体变量的初始化 178
10.5 结构体数组 179
10.5.1 结构体数组的定义 179
10.5.2 结构体数组的初始化 180
10.6 共用体 182
10.6.1 共用体类型声明 182
10.6.2 共用体变量的定义及引用 182
10.7 枚举类型 185
10.7.1 枚举类型声明 185
10.7.2 枚举变量的定义及引用 186
10.8 用typedef定义类型 188
本章小结 188
第11章 位运算 190
11.1 位运算符 190
11.2 位运算符功能 190
11.3 位运算举例 196
本章小结 198
第12章 文件 199
12.1 文件概述 199
12.1.1 文件的基本概念 199
12.1.2 缓冲型文件系统 199
12.2 文件类型指针 200
12.3 文件的打开和关闭 200
12.3.1 文件的打开 201
12.3.2 文件的关闭 203
12.4 文件的读写 203
12.4.1 字符的读写 204
12.4.2 字符串的读写 206
12.4.3 格式化读写文件 209
12.4.4 数据块方式读写文件 211
12.4.5 文件结束判断 213
12.5 文件的定位函数 214
12.5.1 指向文件的首地址 214
12.5.2 改变文件指针位置 214
12.5.3 获取当前文件指针位置 216
12.6 文件的出错检测 218
本章小结 219
参考文献 220