书籍详情
C语言高级实例解析
作者:刘祎玮,汪晓平编著
出版社:清华大学出版社
出版时间:2004-08-01
ISBN:9787302091172
定价:¥52.00
购买这本书可以去
内容简介
本书特点:·以实例为主。本书采用实例讲解的方式,先介绍必要背景知识,之后是加注释的源码,再给出分析和改进方向。·涉及的知识面广。从内存分配,到串行、并行口编程,再到界面开发,几乎含盖了C编程的方方面面。·实用性强。实例均有具体项目中的源代码,实例非常具有参考价值,而且很多实例可以在新的项目中使用。·本书的源代码都可在附送的光盘中找到,读者可以将代码拷贝到自己的编译器中,进行修改、编译使用。·在本书光盘中赠送了大量其他高级实例。C语言把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。在系统开发,特别是操作系统、底层开发中,C语言的效率是其他编程语言难以企及的。C语言较之汇编语言的普及和易用性决定了在强调效率的开发过程中将采用C语言。本书以实例讲解为主线,对C编程做了深入和具体的探讨。涉及的知识面广,从内存分配,到串行、并行口编程,再到界面开发、动画和高级应用,几乎涵盖了C语言编程的方方面面。通过对本书的学习,对C语言的高级编程,将育一个深刻的理解和掌握,而不仅局限于简单的数据结构和算法。本书既可以供一般读者作为深入学习C语言的教材,也可以作为工程人员的参考手册。本书适合中、高级读者,学习过C语言语法的初级读者也可以通过学习本书快速成长为C语言的编程高手。
作者简介
暂缺《C语言高级实例解析》作者简介
目录
第1章 C语言回顾
第1章 C语言回顾
1.1 程序设计概述
1.2 Turbo C集成环境介绍
1.2.1 启动Turbo C
1.2.2 File菜单(文件操作)
1.2.3 Run菜单(各种程序运行方式)
1.2.4 Compile菜单(编译、连接)
1.2.5 Project菜单(工程管理)
1.2.6 Options菜单(开发环境定制)
1.2.7 Debug菜单(调试)
1.2.8 Break/watch菜单(断点管理)
1.3 C语言概述
1.3.1 数据类型、运算符与表达式
1.3.2 逻辑运算和判断选取控制
1.3.3 循环控制
1.3.4 数组
1.3.5 编译预处理
1.3.6 指针
1.4 本章小结
第2章 内存模式
2.1 PC机存储器结构及基本的堆管理函数
2.1.1 PC机存储器结构
2.1.2 CPU地址线宽度
2.1.3 微机常用操作系统的内存管理方式
2.1.4 实地址下的内存编译模式
2.1.5 堆概念和结构
2.1.6 堆管理函数
2.2 内存管理实例
2.2.1 实例简介
2.2.2 高速内存分配程序
2.3 高速内存分配程序剖析
2.3.1 程序分析
2.3.2 更有效率的使用内存分配程序
2.4 本章小结
第3章 文件、I/O操作
3.1 文件系统
3.1.1 文件系统的基本概念
3.1.2 FAT12
3.1.3 FAT16
3.1.4 FAT32
3.1.5 NTFS
3.1.6 Ext和Swap
3.2 文件
3.2.1 文件的基本概念
3.2.2 文件类型指针
3.2.3 文件的打开与关闭
3.2.4 文件的读/写操作
3.2.5 非缓冲文件系统
3.2.6 出错的检测
3.3 通讯录实例
3.3.1 实例简介
3.3.2 实例代码
3.4 通讯录程序剖析
3.5 本章小结
第4章 C语言的做图
4.1 VGA显示系统
4.1.1 显示硬件基础
4.1.2 显示缓冲区与颜色定义
4.1.3 视频BIOS ROM
4.2 图形函数
4.2.1 图形模式的初始化
4.2.2 独立图形运行程序的建立
4.2.3 屏幕颜色的设置和清屏函数
4.2.4 基本图形函数
4.2.5 封闭图形的填充
4.2.6 有关图形窗口和图形屏幕操作函数
4.2.7 图形模式下的文本输出
4.3 实例程序
4.3.1 菜单制作程序
4.3.2 主函数和主要数据结构
4.3.3 处理输入
4.3.4 图形显示函数
4.3.5 鼠标操作函数
4.4 本章小结
第5章 鼠标编程
5.1 中断的基本概念
5.1.1 BIOS
5.1.2 中断和异常
5.1.3 BIOS功能调用
5.1.4 鼠标器的INT 33H功能调用
5.2 鼠标编程实例
5.2.1 实例简介
5.2.2 实例代码
5.3 程序剖析
5.3.1 程序分析
5.3.2 程序改进方向
5.4 本章小结
第6章 并口和串口编程
6.1 并行通信
6.1.1 通信、并行通信
6.1.2 并行接口
6.1.3 并口针脚功能
6.2 串行通信
6.2.1 概念
6.2.2 串行接口
6.2.3 串行通信方式及异步通信协议
6.2.4 串口针脚功能
6.3 联机线的连接方法
6.4 I/O接口的输入/偷出函数
6.4.1 接口输入函数
6.4.2 接口输出函数
6.5 双机并口通信实例
6.5.1 PPORT.H
6.5.2 PPORT.C
6.5.3 SERVER.C
6.5.4 CLIENT.C
6.6 本章小结
第7章 综合实例——小型CAD系统
7.1 小型CAD系统——MICROCAD
7.1.1 系统简介
7.1.2 运行MICROCAD命令
7.1.3 鼠标
7.1.4 主命令
7.1.5 MCPRINT工具集
7.1 字符字体
7.1.7 做图文件的格式
7.1.8 其他注意事项
7.2 MICROCAD实例
7.2.1 程序头
7.2.2 主函数
7.2.3 分发文件操作命令
7.2.4 插入图形函数
7.2.5 绘制图形函数
7.2.6 撤销编辑函数
7.2.7 删除、移动、复制对象函数
7.2.8 绘制对象函数
7.2.9 文件指针转移对象函数
7.2.10 对象选择函数
7.2.11 find_vector()函数
7.2.12 底层图像绘制函数
7.2.13 缓存和文件操作函数
7.2.14 设备相关函数
7.3 内嵌汇编指令的C程序编译连接方法
7.4 本章小结
第8章 综合实例——编译器
8.1 编译器简介
8.1.1 编译器基本概念
8.1.2 与编译器相关的程序
8.1.3 翻译步骤
8.1.4 编译器中的主要数据结构
8.2 实例简介
8.2.1 语言介绍
8.2.2 程序结构
8.3 词法分析
8.3.1 词法分析简介
8.3.2 扫描处理
8.3.3 为样本语言TINY实现一个扫描程序
8.3.4 SCAN.H
8.3.5 SCAN.C
8.4 语法分析
8.4.1 语法分析简介
8.4.2 上下文无关文法
8.4.3 TINY的上下文无关文法
8.4.4 TINY编译器的语法树结构
8.4.5 自顶向下的分析
8.4.6 PARSE.H
8.4.7 PARSE.C
8.5 语义分析
8.5.1 语义分析简介
8.5.2 属性和属性文法
8.5.3 符号表
8.5.4 数据类型和类型检查
8.5.5 TINY语言的语义分析
8.5.6 ANALYZE.H
8.5.7 ANALYZE.C
8.6 本章小结
第9章 综合实例——网络通信编程
9.1 概述
9.2 Winsock1.1编程技术
9.2.1 Winsock的基本概念
9.2.2 Winsock的编程特点
9.2.3 Winsock基本的API
9.2.4 关于Winsock的异步模式
9.3 Winsock2.0编程技术
9.3.1 Winsock2.0技术细节
9.3.2 Winsock2.0新增的函数
9.4 CSocket编程技术
9.5 TCP面向连接的流的Socket程序
9.5.1 程序介绍
9.5.2 TCP Stream Socket Server
9.5.3 TCP Stream Socket Client
9.6 本章小结
第10章 综合实例——压缩程序
10.1 数据压缩简史
10.1.1 通用无损数据压缩
10.1.2 多媒体信息的压缩
10.2 压缩算法基本知识
10.2.1 熵
10.2.2 模型
10.2.3 编码
10.3 Huffman编码
10.3.1 二叉树
10.3.2 Huffman编码
10.3.3 范式Huffman编码
10.4 字典模型
10.4.1 基本思想
10.4.2 LZ77算法
10.4.3 LZ77算法优化
10.5 典型LZ77算法实例
10.5.1 实例简介
10.5.2 算法实例
10.6 本章小结
第11章 综合实例——多文本编辑器
11.1 文本编辑器一一EDITOR
11.1.1 系统简介
11.1.2 运行EDITOR命令
11.2 EDITOR命令列表
11.2.1 命令综述
11.2.2 文件操作命令
11.2.3 宏命令
11.2.4 查找、替换命令
11.2.5 比较命令
11.2.6 窗口命令
11.2.7 块命令
11.2.8 字处理命令
11.2.9 Tab键
11.2.10 开关命令
11.2.11 其他命令
11.3 程序剖析
11.3.1 结构性函数
11.3.2 文件操作函数
11.3.3 宏命令
11.3.4 查找替换函数
11.3.5 窗口函数
11.3.6 块函数
11.4 本章小结
第12章 综合实例——病毒防火墙
12.1 病毒防火墙——CRCSET
12.1.1 系统简介
12.1.2 CRC简介
12.2 CRC算法
12.2.1 快速算法基本思想
12.2.2 多字节序列运算规律
12.2.3 三字节序列计算
12.3 CRCSET工作原理
12.4 程序实例
12.4.1 CRCSET使用说明
12.4.2 VIRUSCRC.H
12.4.3 VALIDCRC.C
12.4.4 VIRUSDAT.C
12.4.5 TESTCRC.C
12.5 本章小结
第13章 综合实例——排序演示
13.1 排序演示——CSORT
13.1.1 系统简介
13.1.2 系统的使用
13.2 排序算法简介
13.2.1 排序基本概念
13.2.2 排序的分类
13.2.3 排序算法分析
13.2.4 各种内部排序方法
13.3 典型排序算法
13.3.1 冒泡排序
13.3.2 希尔排序
13.3.3 快速排序
13.3.4 直接插入排序
13.4 程序实例
13.4.1 主函数
13.4.2 界面和类型产生函数
13.4.3 排序函数
13.5 本章小结
第14章 综合实例——海底大战
14.1 系统简介
14.2 BMP图像格式
14.2.1 简介
14.2.2 文件结构
14.2.3 构件详解
14.3 TC环境下256色显示
14.3.1 VGA的DAC色彩寄存器知识
14.3.2 置256色图形模式
14.3.3 访问显存
14.3.4 显示卡换页
14.3.5 硬件无关屏幕初始化
14.4 海底大战程序实例
14.4.1 流程控制函数和主要结构
14.4.2 BMP格式相关定义和函数
14.4.3 对象读入、创建、绘制函数
14.4.4 时钟控制方式的定义和函数
14.5 本章小结
第15章 数学建模
15.1 建模
15.1.1 模型分析
15.1.2 程序实现
15.2 建模二
15.3 建模三
15.3.1 问题的重述
15.3.2 模型的假设
15.3.3 问题的分析
15.3.4 符号定义
15.3.5 模型的建立
15.3.6 模型的改进和比较
15.3.7 模型的评价
15.3.8 定理1的证明
15.3.9 程序实现
15.4 本章小结
第1章 C语言回顾
1.1 程序设计概述
1.2 Turbo C集成环境介绍
1.2.1 启动Turbo C
1.2.2 File菜单(文件操作)
1.2.3 Run菜单(各种程序运行方式)
1.2.4 Compile菜单(编译、连接)
1.2.5 Project菜单(工程管理)
1.2.6 Options菜单(开发环境定制)
1.2.7 Debug菜单(调试)
1.2.8 Break/watch菜单(断点管理)
1.3 C语言概述
1.3.1 数据类型、运算符与表达式
1.3.2 逻辑运算和判断选取控制
1.3.3 循环控制
1.3.4 数组
1.3.5 编译预处理
1.3.6 指针
1.4 本章小结
第2章 内存模式
2.1 PC机存储器结构及基本的堆管理函数
2.1.1 PC机存储器结构
2.1.2 CPU地址线宽度
2.1.3 微机常用操作系统的内存管理方式
2.1.4 实地址下的内存编译模式
2.1.5 堆概念和结构
2.1.6 堆管理函数
2.2 内存管理实例
2.2.1 实例简介
2.2.2 高速内存分配程序
2.3 高速内存分配程序剖析
2.3.1 程序分析
2.3.2 更有效率的使用内存分配程序
2.4 本章小结
第3章 文件、I/O操作
3.1 文件系统
3.1.1 文件系统的基本概念
3.1.2 FAT12
3.1.3 FAT16
3.1.4 FAT32
3.1.5 NTFS
3.1.6 Ext和Swap
3.2 文件
3.2.1 文件的基本概念
3.2.2 文件类型指针
3.2.3 文件的打开与关闭
3.2.4 文件的读/写操作
3.2.5 非缓冲文件系统
3.2.6 出错的检测
3.3 通讯录实例
3.3.1 实例简介
3.3.2 实例代码
3.4 通讯录程序剖析
3.5 本章小结
第4章 C语言的做图
4.1 VGA显示系统
4.1.1 显示硬件基础
4.1.2 显示缓冲区与颜色定义
4.1.3 视频BIOS ROM
4.2 图形函数
4.2.1 图形模式的初始化
4.2.2 独立图形运行程序的建立
4.2.3 屏幕颜色的设置和清屏函数
4.2.4 基本图形函数
4.2.5 封闭图形的填充
4.2.6 有关图形窗口和图形屏幕操作函数
4.2.7 图形模式下的文本输出
4.3 实例程序
4.3.1 菜单制作程序
4.3.2 主函数和主要数据结构
4.3.3 处理输入
4.3.4 图形显示函数
4.3.5 鼠标操作函数
4.4 本章小结
第5章 鼠标编程
5.1 中断的基本概念
5.1.1 BIOS
5.1.2 中断和异常
5.1.3 BIOS功能调用
5.1.4 鼠标器的INT 33H功能调用
5.2 鼠标编程实例
5.2.1 实例简介
5.2.2 实例代码
5.3 程序剖析
5.3.1 程序分析
5.3.2 程序改进方向
5.4 本章小结
第6章 并口和串口编程
6.1 并行通信
6.1.1 通信、并行通信
6.1.2 并行接口
6.1.3 并口针脚功能
6.2 串行通信
6.2.1 概念
6.2.2 串行接口
6.2.3 串行通信方式及异步通信协议
6.2.4 串口针脚功能
6.3 联机线的连接方法
6.4 I/O接口的输入/偷出函数
6.4.1 接口输入函数
6.4.2 接口输出函数
6.5 双机并口通信实例
6.5.1 PPORT.H
6.5.2 PPORT.C
6.5.3 SERVER.C
6.5.4 CLIENT.C
6.6 本章小结
第7章 综合实例——小型CAD系统
7.1 小型CAD系统——MICROCAD
7.1.1 系统简介
7.1.2 运行MICROCAD命令
7.1.3 鼠标
7.1.4 主命令
7.1.5 MCPRINT工具集
7.1 字符字体
7.1.7 做图文件的格式
7.1.8 其他注意事项
7.2 MICROCAD实例
7.2.1 程序头
7.2.2 主函数
7.2.3 分发文件操作命令
7.2.4 插入图形函数
7.2.5 绘制图形函数
7.2.6 撤销编辑函数
7.2.7 删除、移动、复制对象函数
7.2.8 绘制对象函数
7.2.9 文件指针转移对象函数
7.2.10 对象选择函数
7.2.11 find_vector()函数
7.2.12 底层图像绘制函数
7.2.13 缓存和文件操作函数
7.2.14 设备相关函数
7.3 内嵌汇编指令的C程序编译连接方法
7.4 本章小结
第8章 综合实例——编译器
8.1 编译器简介
8.1.1 编译器基本概念
8.1.2 与编译器相关的程序
8.1.3 翻译步骤
8.1.4 编译器中的主要数据结构
8.2 实例简介
8.2.1 语言介绍
8.2.2 程序结构
8.3 词法分析
8.3.1 词法分析简介
8.3.2 扫描处理
8.3.3 为样本语言TINY实现一个扫描程序
8.3.4 SCAN.H
8.3.5 SCAN.C
8.4 语法分析
8.4.1 语法分析简介
8.4.2 上下文无关文法
8.4.3 TINY的上下文无关文法
8.4.4 TINY编译器的语法树结构
8.4.5 自顶向下的分析
8.4.6 PARSE.H
8.4.7 PARSE.C
8.5 语义分析
8.5.1 语义分析简介
8.5.2 属性和属性文法
8.5.3 符号表
8.5.4 数据类型和类型检查
8.5.5 TINY语言的语义分析
8.5.6 ANALYZE.H
8.5.7 ANALYZE.C
8.6 本章小结
第9章 综合实例——网络通信编程
9.1 概述
9.2 Winsock1.1编程技术
9.2.1 Winsock的基本概念
9.2.2 Winsock的编程特点
9.2.3 Winsock基本的API
9.2.4 关于Winsock的异步模式
9.3 Winsock2.0编程技术
9.3.1 Winsock2.0技术细节
9.3.2 Winsock2.0新增的函数
9.4 CSocket编程技术
9.5 TCP面向连接的流的Socket程序
9.5.1 程序介绍
9.5.2 TCP Stream Socket Server
9.5.3 TCP Stream Socket Client
9.6 本章小结
第10章 综合实例——压缩程序
10.1 数据压缩简史
10.1.1 通用无损数据压缩
10.1.2 多媒体信息的压缩
10.2 压缩算法基本知识
10.2.1 熵
10.2.2 模型
10.2.3 编码
10.3 Huffman编码
10.3.1 二叉树
10.3.2 Huffman编码
10.3.3 范式Huffman编码
10.4 字典模型
10.4.1 基本思想
10.4.2 LZ77算法
10.4.3 LZ77算法优化
10.5 典型LZ77算法实例
10.5.1 实例简介
10.5.2 算法实例
10.6 本章小结
第11章 综合实例——多文本编辑器
11.1 文本编辑器一一EDITOR
11.1.1 系统简介
11.1.2 运行EDITOR命令
11.2 EDITOR命令列表
11.2.1 命令综述
11.2.2 文件操作命令
11.2.3 宏命令
11.2.4 查找、替换命令
11.2.5 比较命令
11.2.6 窗口命令
11.2.7 块命令
11.2.8 字处理命令
11.2.9 Tab键
11.2.10 开关命令
11.2.11 其他命令
11.3 程序剖析
11.3.1 结构性函数
11.3.2 文件操作函数
11.3.3 宏命令
11.3.4 查找替换函数
11.3.5 窗口函数
11.3.6 块函数
11.4 本章小结
第12章 综合实例——病毒防火墙
12.1 病毒防火墙——CRCSET
12.1.1 系统简介
12.1.2 CRC简介
12.2 CRC算法
12.2.1 快速算法基本思想
12.2.2 多字节序列运算规律
12.2.3 三字节序列计算
12.3 CRCSET工作原理
12.4 程序实例
12.4.1 CRCSET使用说明
12.4.2 VIRUSCRC.H
12.4.3 VALIDCRC.C
12.4.4 VIRUSDAT.C
12.4.5 TESTCRC.C
12.5 本章小结
第13章 综合实例——排序演示
13.1 排序演示——CSORT
13.1.1 系统简介
13.1.2 系统的使用
13.2 排序算法简介
13.2.1 排序基本概念
13.2.2 排序的分类
13.2.3 排序算法分析
13.2.4 各种内部排序方法
13.3 典型排序算法
13.3.1 冒泡排序
13.3.2 希尔排序
13.3.3 快速排序
13.3.4 直接插入排序
13.4 程序实例
13.4.1 主函数
13.4.2 界面和类型产生函数
13.4.3 排序函数
13.5 本章小结
第14章 综合实例——海底大战
14.1 系统简介
14.2 BMP图像格式
14.2.1 简介
14.2.2 文件结构
14.2.3 构件详解
14.3 TC环境下256色显示
14.3.1 VGA的DAC色彩寄存器知识
14.3.2 置256色图形模式
14.3.3 访问显存
14.3.4 显示卡换页
14.3.5 硬件无关屏幕初始化
14.4 海底大战程序实例
14.4.1 流程控制函数和主要结构
14.4.2 BMP格式相关定义和函数
14.4.3 对象读入、创建、绘制函数
14.4.4 时钟控制方式的定义和函数
14.5 本章小结
第15章 数学建模
15.1 建模
15.1.1 模型分析
15.1.2 程序实现
15.2 建模二
15.3 建模三
15.3.1 问题的重述
15.3.2 模型的假设
15.3.3 问题的分析
15.3.4 符号定义
15.3.5 模型的建立
15.3.6 模型的改进和比较
15.3.7 模型的评价
15.3.8 定理1的证明
15.3.9 程序实现
15.4 本章小结
猜您喜欢