序论 1
第1章 文本屏幕界面设计 3
1.1 文本方式的控制 3
1.1.1 文本方式控制函数 3
1.1.2 文本方式颜色控制函数 4
1.1.3 字符显示亮度控制函数 5
1.2 窗口设置和文本输出函数 6
1.2.1 窗口设置函数 6
1.2.2 控制台文本输出函数 6
1.3.2 光标操作函数 7
1.3 清屏和光标操作函数 7
1.3.1 清屏函数 7
1.4 屏幕文本移动与存取函数 8
1.4.1 屏幕文本移动函数 8
1.4.2 屏幕文本存取函数 8
1.5 状态查询函数 10
1.6 综合应用实例 11
1.6.1 一个弹出式菜单 11
1.6.2 一个下拉式菜单 15
1.7 directvideo变量 19
1.8 光标编程 20
小结 21
习题 21
第2章 图形程序设计 22
2.1 图形显示的坐标和像素 22
2.1.1 图形显示的坐标 22
2.1.2 像素 22
2.2 图形显示器与适配器 23
2.3 显示器工作方式 25
2.4 Turbo C支持的适配器和图形模式 26
2.5.1 图形系统的初始化函数 28
2.5 图形系统的初始化 28
2.5.2 图形系统检测函数 29
2.5.3 清屏和恢复显示方式的函数 29
2.6 基本图形函数 30
2.6.1 画点函数 30
2.6.2 有关画图坐标位置的函数 31
2.6.3 画线函数 31
2.6.4 画矩形和条形图函数 32
2.6.5 画椭圆、圆和扇形图函数 33
2.7 颜色控制函数 34
2.7.1 颜色设置函数 35
2.7.2 调色板颜色的设置 37
2.8 画线的线型函数 40
2.8.1 设定线型函数 40
2.8.2 得到当前画线信息的函数 42
2.9 封闭图形的填色函数及有关画图函数 43
2.9.1 填色函数 43
2.9.2 用户自定义填充函数 44
2.9.3 得到填充模式和颜色的函数 46
2.9.4 与填充函数有关的作图函数 46
2.9.5 可对任意封闭图形填充的函数 47
2.10 屏幕操作函数 48
2.10.1 屏幕图像存储和显示函数 49
2.10.2 设置显示页函数 50
2.11 图视口操作函数 52
2.11.1 图视口设置函数 52
2.11.2 图视口清除与取信息函数 52
2.12 图形方式下的文本输出函数 54
2.12.1 文本输出函数 55
2.12.2 定义文本字型函数 57
2.12.3 文本输出字符串函数 59
2.13.3 利用画面存储再重放的方法 60
2.13.2 利用显示页与编辑页交替变化的方法 60
2.13.1 利用动态开辟图视口的方法 60
2.13 动画技术 60
2.13.4 直接对图像动态存储器进行操作的方法 61
2.14 菜单生成 61
2.15 图形程序使用环境 62
2.15.1 BGI使用 62
2.15.2 图形方式下字型输出的条件 64
2.15.3 BGI图形驱动 64
2.16 直接存储存取 65
2.16.1 BIOS中断在显示中的应用 66
2.16.2 VGA寄存器 68
2.16.3 屏幕图形与VRAM地址的关系 71
2.16.4 VRAM的位面结构 71
2.16.5 将VRAM位面信息存入文件 72
2.16.6 将文本图像信息写入VRAM位面 73
2.16.7 VGA标准图形模式12H编程 74
2.16.8 VGA标准图形模式13H编程 76
2.17 SVGA编程简述 76
2.17.1 SVGA显卡的检测 77
2.17.2 SVGA模式信息的获取与模式操作 79
小结 81
习题 81
2.17.3 SVGA的直接存储显存与内存控制 81
第3章 微机硬件驱动 83
3.1 I/O接口的输入输出简介 83
3.1.1 I/O接口的寻址方式 83
3.1.2 I/O接口的输入输出函数 84
3.2 中断服务程序的编写 85
3.2.1 PC机的中断类型 86
3.2.2 用Turbo C编写中断程序的方法 88
3.2.3 中断服务程序例子 91
3.3.1 关于DOS与BIOS的说明 96
3.3 BIOS与DOS调用 96
3.3.2 BIOS调用 97
3.3.3 DOS调用 98
3.3.4 BIOS和DOS系统调用函数 99
3.4 驻留程序的设计 104
3.4.1 TSR程序设计 104
3.4.2 用户激活驻留程序TSR的方法 109
3.4.3 TSR唱歌程序例子 111
3.5 扩充存储器编程 113
3.5.1 PC存储器结构 113
3.5.2 存储器的分段与物理地址的形成 116
3.5.3 与地址操作有关的几个宏 118
3.5.4 指针的分类 119
3.5.5 寄存器与伪变量 121
3.5.6 内存模式 125
3.5.7 保护虚地址方式下的段和偏移 129
3.5.8 扩展存储器的使用实例 130
3.5.9 扩展内存 133
3.6 计算机发声 134
3.6.1 发声原理 134
3.6.2 声音函数 135
3.7 使用串口通信 136
3.6.3 计算机乐谱 136
小结 140
习题 140
第4章 输入方法编程 141
4.1 键盘输入 141
4.1.1 键盘编程 141
4.1.2 键盘缓冲区 144
4.1.3 键盘操作函数bioskey() 146
4.2 鼠标输入 147
4.2.1 鼠标简介 147
4.2.2 鼠标的INT 33H功能调用 148
4.2.3 鼠标主要功能函数 150
4.2.4 用鼠标作图 153
4.2.5 用鼠标热键激活TSR程序 156
小结 156
习题 156
第5章 其他高级编程技术 158
5.1 目录时间函数编程 158
5.1.1 目录文件函数编程 158
5.1.2 时间函数编程 158
5.2.1 汉字库 160
5.2 汉字技术 160
5.2.2 显示 161
5.3 打印驱动 162
5.4 混合编程简介 163
5.4.1 C语言外部接口约定原则 163
5.4.2 C语言与汇编语言程序接口 164
5.4.3 C语言与Pascal语言程序接口 165
5.4.4 Turbo C行间直接嵌入汇编 167
5.5 FoxBASE数据库编程 168
5.6 进程管理 169
5.6.1 exec函数组 170
5.6.3 system函数 171
5.6.2 spawn函数组 171
5.7 磁盘与文件操作 172
小结 176
习题 176
第6章 大型综合程序开发 177
6.1 大程序的设计风格 177
6.2 Turbo C调试器 178
6.3 鼠标驱动程序例程 182
6.4 魔方程序 192
小结 220
习题 221
附录 Turbo C 2.0函数说明 223
1.字符分类函数(ctype.h) 223
2.数学函数(math.h、stdlib.h、string.h、float.h) 223
3.进程函数(stdlib.h、process.h) 226
4.转换子程序(math.h、stdlib.h、ctype.h、float.h) 228
5.诊断函数(assert.h、math.h) 228
6.输入输出子程序(io.h、conio.h、stat.h、dos.h、stdio.h、signal.h) 229
7.接口子程序(dos.h、bios.h) 235
8.字符串、内存操作函数(string.h、mem.h) 242
9.存储分配子程序(dos.h、alloc.h、malloc.h、stdlib.h、process.h) 245
10.时间日期函数(time.h、dos.h) 246