第一章 简介 1
1.1 C语言 1
1.2 Pascal和C语言的简单比较 1
1.3 计算机存储器 4
1.4 预处理、编译和连接 5
1.5 包含文件 6
第二章 基本数据类型和终端I/O 7
2.1 语法结构 8
2.2 基本数据类型、赋值 9
2.3 主程序 11
2.4 常量 12
2.5 算术表达式 13
2.6 终端输入/输出 15
2.7 类型转换,新数据类型:typedef 19
习题 22
第三章 控制结构 26
3.1 布尔表达式和优先级规则 26
3.2 if语句 29
3.3 循环语句 33
3.4 switch语句 37
3.5 goto和return语句 40
习题 42
第四章 文件I/O的介绍 45
4.1 C语言的文件操作 46
4.2 测试行结束和文件结束 48
习题 55
第五章 C语言预处理程序 58
5.1 不带参数的宏 59
5.2 带参数的宏 62
5.3 文件包含 65
5.4 条件编译 66
5.5 行编号 69
习题 70
第六章 函数和过程 73
6.1 函数定义 74
6.2 函数参数 80
6.3 作用域 82
6.4 分别编译 87
6.5 初始化 93
习题 93
第七章 指针 95
7.1 说明指针 98
7.2 指针的脱关联和地址运算符 99
7.3 指针的赋值和转换 100
7.4 指针的函数 105
7.5 指针的算术运算 116
7.6 存储器分配和回收 123
7.7 数组和记录的模拟 127
习题 131
第八章 数组 136
8.1 单维数组 138
8.2 多维数组 158
8.3 数组的初始化和外部数组 169
习题 171
第九章 结构、联合和枚举类型 176
9.1 结构 178
9.2 联合 191
9.3 枚举类型 195
习题 198
9.4 说明符——第三部分 198
第十章 字符串 201
10.1 C语言中的字符串 203
10.2 字符串操作的实现 207
10.3 别的字符串I/O分程序 217
10.4 字符串数组 221
10.5 主函数中的变元 224
10.6 字符处理的宏和函数 227
习题 229
第十一章 位操作和位域 233
11.1 位操作 233
11.2 位域 236
习题 238
第十二章 文件I/O再讨论 239
12.1 文件操作 240
12.2 应用 245
习题 255
第十三章 数据结构的应用 257
13.1 一个有用户自定义变量的计算器 257
13.2 一个带内部函数的计算器 274
13.3 一个带压缩功能的存储器管理系统 277
13.4 Dijkstra的最短路径算法 285
13.5 一个简单的数据库 293
习题 300
14.1 Unix 303
第十四章 一些实际的系统 303
14.2 MS-DOS 313
14.3 Macintosh 332
参考书目 350
附录A 特殊字符、关键词以及语法 351
附录B 优先级和结合性表 354
附录C 格式化输入和输出 355
附录D ASCII字符集 361
附录E 奇数号习题的答案 364
附录F Pascal和C语言的比较 408
附目G 系统库总结 412