第1章 绪论 1
1.1 C语言简介 1
1.2 开发C语言程序 4
1.2.1 第一个C语言例程 4
1.2.2 在Microsoft Windows下开发程序 8
1.2.3 在Linux或Unix下开发程序 12
1.3 小结 16
1.4 习题 17
第2章 数据和运算 18
2.1 标识符和关键字 18
2.2 数据类型 22
2.2.1 有符号整数系列类型和无符号整数系列类型 23
2.2.2 字符类型 26
2.2.3 枚举类型 27
2.2.4 浮点数类型 28
2.3 变量和字面常量 39
2.3.1 变量 39
2.3.2 有符号整数系列类型和无符号整数系列类型字面常量 43
2.3.3 字符类型字面常量 45
2.3.4 枚举类型字面常量 46
2.3.5 浮点数类型字面常量 47
2.4 数据的输入和输出 48
2.4.1 函数printf 48
2.4.2 函数scanf和scanf_s 54
2.4.3 字符输入函数getchar和字符输出函数putchar 64
2.5 运算 66
2.5.1 算术运算 67
2.5.2 关系运算 75
2.5.3 逻辑运算 76
2.5.4 位运算 76
2.5.5 赋值类运算 80
2.5.6 条件运算 81
2.5.7 其他运算 82
2.6 小结 83
2.7 习题 84
第3章 控制结构 86
3.1 选择结构 86
3.1.1 if语句和if-else语句 87
31.2 switch语句 91
3.2 循环结构 94
3.2.1 for语句 94
3.2.2 while语句 96
3.2.3 do-while语句 98
3.2.4 continue语句 99
3.2.5 break语句 101
3.3 小结 104
3.4 习题 105
第4章 结构化程序设计 108
4.1 函数基础 108
4.1.1 函数定义与调用 108
4.1.2 形式参数个数可变的函数 114
4.1.3 主函数main 117
4.2 多个源程序文件 123
4.3 函数递归调用 130
4.4 结构化程序设计实现 142
4.5 小结 148
4.6 习题 148
第5章 静态数组 150
5.1 一维数组 151
5.2 多维数组 163
5.3 字符数组与字符串 172
5.4 小结 194
5.5 习题 195
第6章 结构体和共用体 196
6.1 结构体(struct) 196
6.2 共用体(union) 208
6.3 小结 215
6.4 习题 215
第7章 指针 216
7.1 指针类型与变量 216
7.2 动态数组 222
7.3 指针运算 229
7.4 函数返回值 230
7.5 单向链表和双向链表 241
7.6 函数指针与函数自动测试 270
7.7 小结 278
7.8 习题 278
第8章 关键字typedef和const以及预处理命令 280
8.1 类型别名定义typedef 280
8.2 常量属性const 285
8.3 预处理命令 288
8.3.1 宏定义#define与取消宏定义#undef 289
8.3.2 条件编译 295
8.3.3 文件包含#include 298
8.4 小结 304
8.5 习题 304
第9章 文件处理 306
9.1 文件操作基本框架 306
9.2 以文本形式读写文件 316
9.3 以二进制数据流形式读写文件 324
9.4 文件整体信息与处理 327
9.5 错误处理 328
9.6 文件处理程序示例 330
9.7 小结 349
9.8 习题 349
第10章 编程规范、程序调试与测试 351
10.1 程序编写规范 352
10.1.1 命名规范 352
10.1.2 排版规范 358
10.1.3 语句 362
10.1.4 文件组织 369
10.2 程序编译与调试 376
10.2.1 程序编译与链接 376
10.2.2 设置断点与查看即时信息 382
10.2.3 断言assert 389
10.2.4 编写调试日志文件程序 392
10.3 程序测试 396
10.4 小结 434
10.5 习题 435
第11章 其他常用函数和宏 437
11.1 数学库 437
11.1.1 指数与对数类函数 437
11.1.2 三角函数 446
11.1.3 反三角函数 449
11.1.4 双曲函数 452
11.1.5 其他数学类函数 454
11.2 标准库 458
11.2.1 伪随机数生成函数 458
11.2.2 程序退出函数以及注册函数 459
11.2.3 环境变量值的获取函数 462
11.2.4 查找与排序函数 463
11.2.5 整数绝对值和除法运算函数 467
11.3 时间获取与处理函数 469
11.3.1 在时间库中的时间获取函数 469
11.3.2 在时间库中的时间处理函数 471
11.3.3 在时间库中的时间格式输出函数 476
11.3.4 在VC平台下的高精度计时函数 481
11.4 小结 487
11.5 习题 487
附录A 图的索引 490
附录B 表的索引 492
附录C 例程索引 494
附录D 函数、运算符与宏索引 496
参考文献 502