第一部分 设计应用系统 1
第一章 程序的规范说明 1
导论 1
需求文档 1
软件规范 6
结论 10
第二章 设计用户接口 11
导论 11
什么是用户接口 11
用户交互活动的原则 13
感觉为真实 16
处置数据:窗口 17
与程序通讯:控制板 19
结论 21
第三章 风格 22
导论 22
名字 22
凹入和大括号 23
定义 23
标头文件 24
全局变量 24
函数 26
简洁 27
结论 29
基本数据类型 31
导论 31
第四章 初等数据类型 31
第二部分 选择数据类型 31
结论 43
第五章 高级数据类型 44
导论 44
产生新数据类型 44
栈 49
链表 50
队列 55
关于为更复杂的数据类型产生栈和队列的简单注记 57
集合 57
递归 62
树 65
结论 72
第三部分 代码组织 75
第六章 函数与库 75
函数 75
库 78
结论 83
第七章 模块化 84
导论 84
存贮类 84
模块开发范例 85
错误处理模块 93
工具 96
结论 96
机器相依性 97
第八章 移植性 97
导论 97
编译程序相依性 100
ANSI标准 103
I/O移植性 104
机器相依性的编码和文档编制 106
结论 107
第四部分 为特定任务编码 109
第九章 接受用户输入 109
导论 109
接受用户命令 109
屏幕处置工具 114
接受数据处置 114
IBM PC键盘 117
结论 118
第十章 扫描 119
导论 119
扫描算法的要素 119
一个例子:扫描英语句子 119
通用扫描 121
详细例子:扫描MS-DOS的文件说明 121
结论 136
第十一章 数据库设计和索引 138
导论 138
数据记录处置 139
索引技术 139
数据和索引存贮 139
数据处置函数 155
保持数据完整性 159
结论 159
第五部分 生成可执行代码 161
第十二章 连接编辑程序 161
导论 161
为什么要有连接编辑程序 161
目标文件 162
目标库 164
工业目标格式 165
程序覆盖 165
Plink 86 166
结论 170
第十三章 调试 171
减轻调试工作的设计和实现 171
市场上的工具 173
当程序不工作时从何着手 174
测式 177
发行产品 180
错误类别 180
运行时的程序结构 185
结论 186
第十四章 实用程序Make和Lint 187
实用程序make 187
实用程序lint 190