前言 1
第1章 C语言图形方式下的编程 1
本章学习目标 1
1.1 显示系统简介 1
1.1.1 显示系统的主要特性 1
1.1.2 显示卡的种类 2
1.1.3 视频BIOS 3
1.1.4 显示模式 3
1.2 图形函数的使用 4
1.2.1 图形模式的初始化 4
1.2.2 屏幕颜色的设置和清屏函数 6
1.2.3 基本图形函数 7
本章小结 10
习题 11
第2章 中断调用 12
本章学习目标 12
2.1 藏在屏幕后面的秘密 12
2.1.1 DOS操作系统的功能和组成 12
2.1.2 关于BIOS 14
2.1.3 寄存器 16
2.2.1 PC机的中断类型 19
2.2 DOS的中断调用 19
2.1.4 中断 19
2.2.2 中断向量表 21
2.2.3 BIOS调用 21
2.2.4 DOS调用 24
2.2.5 BIOS和DOS系统调用函数 26
2.3 中断服务程序的结构 34
2.3.1 编写中断服务程序 34
2.3.2 安装中断服务程序 35
2.3.3 中断服务程序的激活 35
习题 38
本章小结 38
第3章 接触最底层 39
本章学习目标 39
3.1 I/O接口的输入输出编程原理 39
3.2 I/O接口的输入输出函数 40
3.2.1 接口输入函数 40
3.2.2 接口输出函数 41
3.3 定时与计数器8253端口应用举例 41
本章小结 43
习题 43
4.1.1 人机界面的概念 44
4.1 图形方式下彩色汉字处理 44
第4章 图形方式下的汉化人机界面 44
本章学习目标 44
4.1.2 图形方式下彩色汉字处理 45
4.2 图形方式下的人机对话 51
4.3 多级菜单框架 53
4.3.1 图形方式下彩色汉字弹出菜单 53
本章小结 70
习题 71
本章学习目标 72
5.1 摆脱使用键盘的烦恼 72
第5章 在自己的软件中使用鼠标 72
5.2 对鼠标进行初始化 73
5.3 应用鼠标来执行任务 78
5.4 自由设计鼠标的形状 93
5.5 拖动图形对象 96
5.6 本章小结 99
习题 100
第6章 BMP图像的艺术性再现 101
本章学习目标 101
6.1 给你的软件加一个漂亮的封面 101
6.2 BMP图像的存储格式 101
6.3.1 设置显示模式 103
6.3 DOS方式下调用BMP图像的手段 103
6.3.2 调色板的设置 104
6.3.3 图像再现 105
6.4 艺术性再现BMP图像 115
本章小结 116
习题 117
第7章 VGA图形控制器直接编程技术 118
本章学习目标 118
7.1 图形控制器及相关知识 118
7.1.1 VGA卡的概念 118
7.1.3 图形控制器寄存器的参数及功能 119
7.1.2 图形控制寄存器访问 119
7.1.4 VGA图形控制器编程实例 121
7.2 位图的Super VGA显示技术及TVGA方式下灰度的实现 123
7.2.1 TVGA显示原理 123
7.2.2 位图BMP文件格式分析 125
7.2.3 灰度在TVGA卡上的实现 125
本章小结 129
习题 129
第8章 程序的内存驻留与释放 130
本章学习目标 130
8.1 程序段前缀PSP和DTA 131
8.2 DOS环境块 131
8.3 TSP程序设计 132
8.3.2 程序的驻留 133
8.3.1 TSR的中断服务部分 133
8.4 几个有关的库函数说明 134
8.5 TSR程序应解决的几个问题 135
8.5.1 关于DOS重入问题的解决方法 135
8.5.2 TSR程序设计中另外的几个问题 136
8.6 TSR程序涉及到的中断 137
8.7 用户激活驻留程序TSR的方法 139
8.8 时钟激活TSR例程 141
本章小结 145
习题 145
9.1 打破沉寂 146
第9章 如何使电脑发声 146
本章学习目标 146
9.1.1 使用声音 149
9.2 音乐设计 150
9.2.1 前台音乐设计 150
9.2.2 后台音乐设计 154
9.3 用耳朵感受数字音乐 156
9.4 通用的音乐程序 162
本章小结 165
习题 165
本章学习目标 166
10.1 动画的方法 166
第10章 平面动画的设计方法 166
10.2 滚动的小车 168
10.3 碰撞的小球 170
10.4 飘动的红旗 172
10.5 声图并茂 174
本章小结 179
习题 179
第11章 让电脑成为你的家庭保健医生 180
本章学习目标 180
11.1 问答式的求医与诊断 180
11.2 医疗专家系统的设计分析 181
11.3 最简单的推理方法 185
11.4 填充知识库 189
本章小结 190
习题 190
第12章 走出迷宫 191
本章学习目标 191
12.1 迷宫 191
12.2 用数组表示迷宫 192
12.3 栈的应用 192
12.3.1 数据结构的设计 192
12.3.2 主要算法设计 193
12.4 走出迷宫 195
习题 205
本章小结 205
第13章 软件加密方法简介 206
本章学习目标 206
13.1 可执行程序加密 206
13.1.1 程序加锁--C语言口令保护程序 206
13.1.2 DOS系统下批处理程序的加密程序 210
13.2 数据文件的加密 212
13.2.1 数据文件的加密算法--替代加密法 212
13.2.2 数据文件的加密算法--位操作加密法 214
13.2.3 数据文件的加密算法--换位加密法 217
13.3 成批文件的一种简易加密方法 218
13.4 限制软件的使用时间与次数 221
本章小结 224
习题 224
第14章 大型软件设计 225
本章学习目标 225
14.1 软件工程的概念 225
14.2 软件生命周期 226
14.3 瀑布模型 229
14.4 原型法 230
14.5 软件工具与软件开发环境 231
14.6 软件详细设计的表达 232
14.6.1 程序流程图 233
14.6.2 NS图 234
14.6.3 问题分析图PAD 235
14.6.4 判定表 235
14.6.5 过程设计语言PDL 236
14.7 用TurboC编写大型软件 237
14.7.1 自顶向下的设计 237
14.7.2 草拟程序 237
14.7.3 选择数据结构 239
14.7.4 模块的封闭性设计 239
14.8 函数原型 240
14.8.1 编译多个文件 241
14.8.2 自己动手编一个简单的工程文件 242
14.8.3 自己制作头文件 243
本章小结 244
习题 245
附录 C程序设计与调试的常见问题处理 246
附1 Turbo C集成调试器简介 246
附2 程序调试的一般步骤 250
附2.1 程序在编译链接阶段错误的排除 250
附2.2 隐含错误的排除 251
附2.3 调试结束后的处理 252
附3 编程常见问题处理 253
参考文献 267