1.1程序设计语言的发展 1
第1章 绪论 1
1.2程序设计的基本过程 4
1.3程序设计的基本方法 13
1.3.1 结构化程序设计 13
1.3.2模块化程序设计 15
1.3.3 自顶向下、逐步细化的设计过程 16
习题1 18
2.1简单的C语言程序 19
第2章 C程序的基本组成 19
2.2基本数据类型变量的定义与宏定义 22
2.2.1 整型常量及其变量的定义 22
2.2.2实型常量及其变量的定义 27
2.2.3 字符型常量及其变量的定义 28
2.3数据的输入与输出 31
2.3.1格式输出函数 31
2.3.2格式输入函数 33
2.3.4字符输入函数 36
2.3.3字符输出函数 36
2.4数据的处理 37
2.4.1赋值运算 37
2.4.2算术运算 37
2.4.3关系运算 39
2.4.4逻辑运算 40
2.4.5增1与减1运算符 43
2.4.6 sizeof运算符 43
2.4.7逗号运算符 44
2.5宏定义 45
2.4.8标准函数 45
2.5.1符号常量定义 46
2.5.2带参数的宏定义 47
习题2 51
第3章 选择结构 55
3.1语句与复合语句 55
3.2 if语句 58
3.3 if…else结构 61
3.4条件运算符 66
3.5 switch结构 68
3.6程序举例 74
习题3 81
第4章 循环结构 83
4.1当型循环与直到型循环 83
4.1.1 当型循环结构 83
4.1.2直到型循环结构 86
4.1.3 当型循环结构与直到型循环结构的区别与联系 87
4.2 for循环 89
4.3.1循环的嵌套 92
4.3循环的嵌套与其他有关语句 92
4.3.2 break语句 95
4.3.3 continue语句 97
4.4程序举例 99
4.4.1 列举算法 99
4.4.2密码问题 103
4.4.3对分法求方程实根 105
4.4.4迭代法求方程实根 107
4.4.5牛顿法求方程实根 108
4.4.6梯形法求定积分 110
习题4 112
第5章 模块设计 114
5.1模块的实现——函数 114
5.1.1 函数的概念 114
5.1.2函数的定义 116
5.1.3 函数的调用 118
5.2模块间的参数传递 120
5.2.1形参与实参的结合方式 120
5.2.2局部变量与全局变量 122
5.2.3动态存储变量与静态存储变量 123
5.2.4 内部函数与外部函数 129
5.3模块的递归调用 131
5.4程序举例 133
5.5编译预处理 138
5.5.1文件包含命令 138
5.5.2条件编译命令 140
习题5 146
第6章 数组 147
6.1一维数组 147
6.1.1 一维数组的定义与引用 147
6.1.2一维数组的初始化 150
6.2.1 二维数组的定义与引用 153
6.2.2二维数组的初始化 153
6.2二维数组 153
6.3字符数组与字符串 155
6.3.1 字符数组的定义与初始化 155
6.3.2字符串 156
6.3.3 字符数组与字符串的输入与输出 157
6.3.4字符串处理函数 160
6.4.1形参数组与实参数组的结合 162
6.4数组作为函数参数 162
6.4.2二维数组作为函数参数 164
6.5程序举例 166
习题6 171
第7章 指针 172
7.1指针的基本概念 172
7.2指针变量 173
7.2.1指针变量的定义与引用 173
7.2.2指针变量作为函数参数 175
7.3.1数组的指针与数组元素的指针 177
7.3数组与指针 177
7.3.2数组指针作为函数参数 179
7.3.3多维数组与指针 181
7.4字符串与指针 183
7.4.1字符串指针 183
7.4.2字符串指针作为函数参数 187
7.5指针数组与指向指针的指针 189
7.5.1指针数组的概念 189
7.5.2指向指针的指针 191
7.5.3 main函数的形参 192
7.6函数与指针 193
7.6.1用函数指针变量调用函数 193
7.6.2 函数指针变量作为函数参数 195
7.7程序举例 196
习题7 200
第8章 结构体与联合体 202
8.1结构体类型变量 202
8.1.1结构体类型变量的定义 202
8.1.2结构体类型变量的引用 204
8.1.4结构体类型变量的初始化 205
8.1.3结构体的嵌套 205
8.1.5结构体与函数 207
8.2结构体数组 210
8.2.1结构体数组的定义与引用 210
8.2.2结构体数组作为函数参数 213
8.3结构体与指针 215
8.3.1 结构体类型指针变量的定义与引用 215
8.3.2结构体类型指针作为函数参数 216
8.4.1链表的基本概念 220
8.4链表 220
8.4.2链表的基本运算 222
8.5联合体 226
8.6枚举类型与自定义类型名 227
8.6.1枚举类型 227
8.6.2自定义类型名 230
8.7程序举例 231
习题8 239
9.1.2缓冲文件系统 240
9.1.1文本文件与二进制文件 240
9.1文件的概念 240
第9章 文件 240
9.1.3文件类型指针 241
9.2 文件的打开与关闭 241
9.2.1文件的打开 241
9.2.2文件的关闭 242
9.3文件的读写 242
9.3.1文件读函数 242
9.3.2文件写函数 244
9.4文件的定位 246
9.5程序举例 247
习题9 249
第10章 位运算 251
10.1二进制位运算 251
10.2位段 256
10.3程序举例 258
习题10 260
附录1 基本ASCII码表 261
附录2 TurboC常用库函数 264
参考文献 270