第1章C语言概述与数据类型 1
1.1引言 1
1.1.1程序设计语言及其分类 1
1.1.2程序的执行 3
1.1.3认识简单的C程序 4
1.2 C语言基本数据类型 5
1.2.1计算机中数据存储基础 5
1.2.2数据类型 6
1.2.3数据类型的作用 6
1.2.4数据表示——常量 9
1.2.5数据表示——变量 11
1.2.6数据运算——表达式 14
习题1 17
第2章C语言的语句 20
2.1 C语句概述 20
2.2顺序结构 21
2.2.1格式输出语句 21
2.2.2格式输入语句 24
2.2.3赋值语句及相关运算符 26
2.2.4顺序结构程序举例 30
2.3条件的表示 31
2.3.1算术表达式 31
2.3.2关系表达式 31
2.3.3逻辑表达式 32
2.3.4短路求值 34
2.4选择结构 34
2.4.1单分支语句(if) 34
2.4.2双分支语句(if-else) 35
2.4.3多分支语句(if-else-if) 35
2.4.4条件运算符 38
2.4.5条件语句程序举例 39
2.4.6开关语句(switch) 45
2.4.7开关语句程序举例 47
2.5循环结构 48
2.5.1基本的循环语句 48
2.5.2循环的嵌套 51
2.5.3 break和continue语句 52
2.5.4三类常用循环方式 53
习题2 54
第3章 程序设计基础 62
3.1引言 62
3.1.1程序设计步骤 62
3.1.2程序设计示例 64
3.1.3程序的评价 65
3.2递推法程序设计 66
3.2.1顺推法——累加与累乘 66
3.2.2顺推法其他应用 73
3.2.3倒推法 77
3.2.4迭代法 78
3.3循环与选择程序设计 81
3.3.1有选择的累加累乘 81
3.3.2编写健壮的程序 83
3.3.3最大最小问题 84
3.4枚举程序设计 85
3.4.1枚举法 85
3.4.2数与数字 88
3.4.3素数与因数 90
3.5多重循环程序设计 93
3.5.1二重循环基础应用 94
3.5.2二维图表程序设计 95
习题3 97
第4章 模块化程序设计 106
4.1指针与指针变量 106
4.1.1引入 106
4.1.2指针变量定义和引用 106
4.2程序模块——函数 109
4.2.1模块的引入 109
4.2.2函数定义与声明 110
4.2.3函数的作用 112
4.2.4函数的调用 114
4.2.5函数间的信息交互 118
4.2.6多文件程序的实现 122
4.2.7进一步认识变量 124
4.3函数应用 129
4.3.1随机函数的应用 129
4.3.2模块化程序设计 133
4.3.3递归程序设计 141
4.3.4递归与循环的比较 146
4.4与函数相关的语言机制 152
4.4.1函数与指针 152
4.4.2宏 154
习题4 158
第5章 数值数据的连续存储与应用 168
5.1一维数组 168
5.1.1一维数组定义及引用 168
5.1.2一维数组基础应用 171
5.1.3数组与指针1 175
5.2一维数组应用 180
5.2.1排序与检索 180
5.2.2巧用下标 185
5.2.3构造循环体 187
5.2.4记录状态信息 188
5.3二维数组及其应用 191
5.3.1二维数组定义及引用 191
5.3.2二维数组应用 194
5.3.3数组与指针2 200
5.3.4趣味矩阵 205
习题5 213
第6章 字符串 222
6.1字符数组与字符串 222
6.1.1字符数组及字符串概述 222
6.1.2字符串插入、删除 230
6.1.3指针类型函数的应用 235
6.2字符串应用 236
6.2.1最基础的信息加密方法 236
6.2.2数值与字符串 237
6.2.3单词统计 240
6.2.4字符串排序 241
6.2.5字符串检索 242
6.3数组与指针3 244
6.3.1指针与字符串 244
6.3.2主函数的参数 249
6.3.3动态存储 251
习题6 258
第7章 程序设计中的技巧 266
7.1数学知识提高程序效率 266
7.1.1杨辉三角形的应用 266
7.1.2最大公约数的应用 267
7.1.3最小公倍数的应用 270
7.2算术运算的作用 271
7.2.1减化或避免条件判断 271
7.2.2构造下标 274
7.3标志量的作用 275
7.3.1提高程序效率 275
7.3.2表示复杂情况 276
7.4信息数字化 280
7.4.1逻辑类问题 281
7.4.2智巧类问题 283
7.5高精度数据计算 289
7.5.1加、减法运算 289
7.5.2乘法运算 293
习题7 295
第8章 程序设计语言深入 297
8.1结构体 297
8.1.1结构体及其定义 297
8.1.2结构体的引用 300
8.1.3结构体与指针 302
8.1.4结构体与数组 303
8.1.5结构体与函数 305
8.2结构体应用 307
8.2.1结构体基础应用 307
8.2.2结构体数组应用 309
8.2.3结构体排序与信息检索 313
8.3共用体与枚举类型 316
8.3.1共用体 316
8.3.2枚举类型 320
8.4类型名定义 322
8.5位运算 324
8.5.1按位与运算 324
8.5.2按位或运算 324
8.5.3按位异或运算 325
8.5.4求反运算 325
8.5.5左移运算 326
8.5.6右移运算 326
8.6文件 326
8.6.1 C语言文件概述 326
8.6.2文件的打开与关闭 327
8.6.3文件的读写 330
8.6.4文件定位 333
8.6.5文件其他相关函数 334
8.6.6文件应用 334
习题8 338
第9章 程序设计实践 351
9.1程序设计综合练习 352
9.1.1编程输入10个整数而后逆序输出它们 352
9.1.2求1!+2!+3!+4!+…+n! 358
9.1.3递增的牛群 361
9.1.4验证哥德巴赫猜想 367
9.1.5求三个数的最小公倍数 371
9.1.6猴子选大王 375
9.2程序测试与调试 379
9.2.1常见的语法错误 380
9.2.2常见的“伪”语法错误 381
9.2.3常见的逻辑类错误 385
9.2.4测试与调试 389
附录A C语言要素 391
附录B编译预处理 397
附录C常用标准库函数 399
附录D ASCII码字符表 425
参考文献 426