第一章 C语言回顾 1
1.1 C语言起源 1
1.2 结构化的C语言 1
1.3 简要回顾 3
第二章 排序与搜索 15
2.1 排序 15
2.2 搜索 18
2.3 改进排序 20
2.4 其它数据结构的排序 24
2.5 磁盘文件排序 26
2.6 搜索 31
第三章 队列、栈、链表与二叉树 33
3.1 队列 33
3.2 栈 39
3.3 链表 43
3.4 二叉树 54
第四章 动态分配 61
4.1 malloc()和free()的回顾 61
4.2 稀疏数组处理 63
4.3 可重复使用的缓冲区 70
4.4 “未知存贮”的困境 72
4.5 存贮残片 77
4.6 动态分配与人工智能 79
第五章 汇编语言例程与操作系统的接口 87
5.1 汇编语言接口 87
5.2 操作系统接口 91
5.3 DOS()访问系统功能的使用 98
5.4 关于操作系统接口的最终思考 102
第六章 统计 104
6.1 样本、总体、分布和变量 104
6.2 基础统计 105
6.3 在屏幕上简单地绘图 110
6.4 预测与回归方程 114
6.5 开发一个完整的统计程序 118
6.6 应用统计程序 127
6.7 最后的想法 129
第七章 加密与数据压缩 130
7.1 密码学简史 130
7.2 替代密码 131
7.3 转换密码 137
7.4 位操作密码 141
7.5 数据压缩 145
7.6 密码破译 150
第八章 随机数生成程序及模拟 153
8.1 随机数生成程序 153
8.2 模拟 162
第九章 表达式语法分析与求值 172
9.1 表达式 172
9.2 表达式语法分析 175
9.3 一个简单的表达式语法分析程序 176
9.4 递归下降语法分析程序中的错误检查 187
第十章 Pascal和BASIC向C的转换 188
10.1 Pascal向C的转换 188
10.2 BASIC向C的转换 199
10.3 关于翻译的最终思考 204
第十一章 效率移植和调试 206
11.1 效率 206
11.2 移植程序 209
11.3 调试 210
11.4 最后的想法 219
附录A C语言语句小结 220
A1 C语言语句小结 220
12 C语言预处理程序 226
附录B C语言标准库 228