目 录 1
第1章C语言回顾 1
1.1程序设计概述 1
1.2Turbo C集成环境介绍 3
1.2.1启动Turbo C 3
1.2.2 File菜单(文件操作) 3
1.2.3 Run菜单(各种程序运行方式) 4
1.2.4 Compile菜单(编译、连接) 5
1.2.5 Project菜单(工程管理) 6
1.2.6 Options菜单(开发环境定制) 7
1.2.7 Debug菜单(调试) 7
1.2.8 Break/watch菜单(断点管理) 8
1.3 C语言概述 9
1.3.1数据类型、运算符与表达式 9
1.3.2逻辑运算和判断选取控制 11
1.3.3循环控制 15
1.3.4数组 20
1.3.5编译预处理 23
1.3.6指针 27
1.4本章小结 31
第2章内存模式 32
2.1 PC机存储器结构及基本的堆管理函数 32
2.1.1 PC机存储器结构 32
2.1.2 CPU地址线宽度 33
2.1.3微机常用操作系统的内存管理方式 34
2.1.4实地址下的内存编译模式 36
2.1.6堆管理函数 41
2.1.5堆概念和结构 41
2.2内存管理实例 42
2.2.1实例简介 42
2.2.2高速内存分配程序 43
2.3高速内存分配程序剖析 45
2.3.1程序分析 45
2.3.2更有效率的使用内存分配程序 47
2.4本章小结 48
3.1.2 FAT12 49
3.1.1文件系统的基本概念 49
3.1 文件系统 49
第3章文件、I/O操作 49
3.1.3 FAT16 50
3.1.4 FAT32 50
3.1.5 NTFS 51
3.1.6 Ext和Swap 52
3.2文件 54
3.2.1文件的基本概念 54
3.2.2文件类型指针 54
3.2.3文件的打开与关闭 56
3.2.4文件的读/写操作 58
3.2.5非缓冲文件系统 62
3.2.6出错的检测 63
3.3通讯录实例 64
3.3.1实例简介 64
3.3.2实例代码 64
3.4通讯录程序剖析 70
3.5本章小结 79
4.1.1显示硬件基础 80
第4章C语言的做图 80
4.1 VGA显示系统 80
4.1.2显示缓冲区与颜色定义 83
4.1.3视频BIOS ROM 84
4.2图形函数 84
4.2.1 图形模式的初始化 84
4.2.2独立图形运行程序的建立 87
4.2.3屏幕颜色的设置和清屏函数 88
4.2.4基本图形函数 90
4.2.5封闭图形的填充 94
4.2.6有关图形窗口和图形屏幕操作函数 97
4.2.7图形模式下的文本输出 99
4.3实例程序 102
4.3.1菜单制作程序 102
4.3.2主函数和主要数据结构 103
4.3.3处理输入 106
4.3.4图形显示函数 108
4.3.5鼠标操作函数 112
4.4本章小结 113
第5章鼠标编程 114
5.1 中断的基本概念 114
5.1.1 BIOS 114
5.1.2 中断和异常 115
5.1.3 BIOS功能调用 115
5.1.4鼠标器的INT 33H功能调用 118
5.2鼠标编程实例 122
5.2.1 实例简介 122
5.2.2实例代码 122
5.3程序剖析 128
5.3.1 程序分析 128
5.3.2程序改进方向 132
5.4本章小结 132
6.1.1通信、并行通信 133
6.1.2并行接口 133
6.1并行通信 133
第6章并口和串口编程 133
6.1.3并口针脚功能 135
6.2串行通信 135
6.2.1 概念 135
6.2.2串行接口 135
6.2.3 串行通信方式及异步通信协议 137
6.2.4串口针脚功能 141
6.3联机线的连接方法 142
6.4 I/O接口的输入/输出函数 143
6.4.1接口输入函数 144
6.4.2接口输出函数 144
6.5双机并口通信实例 144
6.5.1 PPORT.H 145
6.5.2 PPORT.C 145
6.5.3 SERVER.C 158
6.5.4 CLIENTC 164
6.6本章小结 175
7.1 小型CAD系统——MICROCAD 176
7.1.1 系统简介 176
第7章综合实例——小型CAD系统 176
7.1.2运行MICROCAD命令 177
7.1.3 鼠标 177
7.1.4主命令 178
7.1.5 MCPRINT工具集 182
7.1.6字符字体 182
7.1.7做图文件的格式 183
7.2.1程序头 185
7.2 MICROCAD实例 185
7.1.8其他注意事项 185
7.2.2主函数 187
7.2.3分发文件操作命令 192
7.2.4插入图形函数 193
7.2.5绘制图形函数 196
7.2.6撤销编辑函数 203
7.2.7删除、移动、复制对象函数 204
7.2.8绘制对象函数 208
7.2.9文件指针转移对象函数 210
7.2.10对象选择函数 212
7.2.11 find_vector()函数 214
7.2.12底层图像绘制函数 215
7.2.13缓存和文件操作函数 220
7.2.14设备相关函数 223
7.3 内嵌汇编指令的C程序编译连接方法 227
7.4本章小结 228
8.1.2与编译器相关的程序 229
8.1.1编译器基本概念 229
8.1编译器简介 229
第8章综合实例——编译器 229
8.1.3翻译步骤 232
8.1.4编译器中的主要数据结构 237
8.2实例简介 239
8.2.1语言介绍 239
8.2.2程序结构 239
8.3词法分析 241
8.3.1词法分析简介 241
8.3.2扫描处理 242
8.3.3为样本语言TINY实现一个扫描程序 243
8.3.4 SCAN.H 244
8.3.5 SCAN.C 245
8.4语法分析 252
8.4.1语法分析简介 252
8.4.2上下文无关文法 253
8.4.3 TINY的上下文无关文法 253
8.4.4TINY编译器的语法树结构 254
8.4.5 自项向下的分析 256
8.4.6 PARSE.H 257
8.4.7 PARSE.C 257
8.5语义分析 265
8.5.1语义分析简介 265
8.5.2属性和属性文法 266
8.5.3符号表 268
8.5.4数据类型和类型检查 270
8.5.5 TINY语言的语义分析 270
8.5.7 ANALYZE.C 271
8.5.6 ANALYZE.H 271
8.6本章小结 279
第9章综合实例——网络通信编程 281
9.1概述 281
9.2 Winsock1.1编程技术 282
9.2.1 Winsock的基本概念 282
9.2.2 Winsock的编程特点 282
9.2.3 Winsock基本的API 283
9.2.4关于Winsock的异步模式 287
9.3 Winsock2.0编程技术 291
9.3.1 Winsock2.0技术细节 292
9.3.2 Winsock2.0新增的函数 297
9.4 CSocket编程技术 298
9.5TCP面向连接的流的Socket程序 299
9.5.1程序介绍 299
9.5.2 TCPStream Socket Server 300
9.5.3 TCP Stream Socket Client 308
9.6本章小结 315
10.1.1通用无损数据压缩 316
10.1数据压缩简史 316
第10章综合实例——压缩程序 316
10.1.2多媒体信息的压缩 318
10.2压缩算法基本知识 319
10.2.1熵 319
10.2.2模型 320
10.2.3编码 321
10.3.1二叉树 322
10.3.2 Huffman编码 322
10.3 Huffman编码 322
10.3.3范式Huffman编码 325
10.4字典模型 328
10.4.1基本思想 328
10.4.2 LZ77算法 329
10.4.3 LZ77算法优化 332
10.5典型LZ77算法实例 334
10.5.1实例简介 334
10.5.2算法实例 335
10.6本章小结 353
第1 1章综合实例——多文本编辑器 354
11.1 文本编辑器——EDITOR 354
11.1.1系统简介 354
11.1.2运行EDITOR命令 355
11.2 EDITOR命令列表 357
11.2.1命令综述 357
11.2.2文件操作命令 358
11.2.3宏命令 359
11.2.4查找、替换命令 361
11.2.5比较命令 362
11.2.6窗口命令 363
11.2.7块命令 364
1 1.2.8字处理命令 366
11.2.9Tab键 367
11.2.10开关命令 368
11.2.11其他命令 369
11.3程序剖析 372
11.3.1 结构性函数 372
11.3.2文件操作函数 383
11.3.3宏命令 396
11.3.4查找替换函数 398
11.3.5窗口函数 401
11.3.6块函数 404
1 1.4本章小结 407
12.1.1系统简介 408
12.1.2 CRC简介 408
12.1 病毒防火墙——CRCSET 408
第12章 综合实例——病毒防火墙 408
12.2 CRC算法 410
12.2.1快速算法基本思想 410
12.2.2多字节序列运算规律 410
12.2.3三字节序列计算 411
12.3 CRCSET工作原理 413
12.4程序实例 419
12.4.1 CRCSET使用说明 419
12.4.2 VIRUSCRC.H 420
12.4.3 VALIDCRC.C 421
12.4.4 VIRUSDAT.C 424
12.4.5TESTCRC.C 424
12.5本章小结 425
第13章综合实例——排序演示 426
13.1 排序演示——CSORT 426
13.1.1系统简介 426
13.1.2系统的使用 427
13.2.1排序基本概念 429
13.2排序算法简介 429
13.2.2排序的分类 430
13.2.3排序算法分析 430
13.2.4各种内部排序方法 431
13.3典型排序算法 433
13.3.1 冒泡排序 433
13.3.2希尔排序 435
13.3.3快速排序 436
13.3.4直接插入排序 437
13.4.1主函数 439
13.4程序实例 439
13.4.2界面和类型产生函数 442
13.4.3排序函数 451
13.5本章小结 456
第14章综合实例——海底大战 457
14.1 系统简介 457
14.2.1简介 458
14.2.2文件结构 458
14.2 BMP图像格式 458
14.2.3构件详解 460
14.3 TC环境下256色显示 466
14.3.1 VGA的DAC色彩寄存器知识 466
14.3.2置256色图形模式 466
14.3.3访问显存 467
14.3.4显示卡换页 468
14.3.5硬件无关屏幕初始化 469
14.4海底大战程序实例 472
14.4.1流程控制函数和主要结构 472
14.4.2 BMP格式相关定义和函数 482
14.4.3对象读入、创建、绘制函数 486
14.4.4时钟控制方式的定义和函数 497
14.5本章小结 500
第15章数学建模 501
15.1建模一 501
15.1.1模型分析 501
15.1.2程序实现 503
15.2建模二 509
15.3建模三 510
15.3.2模型的假设 511
15.3.1问题的重述 511
15.3.3问题的分析 512
15.3.4符号定义 512
15.3.5模型的建立 512
15.3.6模型的改进和比较 517
15.3.7模型的评价 519
15.3.8定理1的证明 519
15.3.9程序实现 520
15.4本章小结 522