内容简介
第一篇 基本C语言编程精要
第1章 C语言标准及常用编译器介绍
1.1 C语言标准介绍
1.1.1 经典C语言
1.1.2 C89
1.1.3 C99
1.2 Turbo C 2.0编程环境及常用操作简介
1.2.1 TC的安装和配置
1.2.2 TC的调用
1.2.3 在TC中编辑、运行程序并查看结果
1.2.4 在DOS命令行中运行程序
1.2.5 在TC中调试程序
1.2.6 多文件程序的创建和运行
1.3 Visual C++ 6.0编程环境及常用操作简介
1.3.1 工程及源文件的建立
1.3.2 程序的编译、连接和运行
1.3.3 程序的调试
习题1
第2章 输入输出
2.1 printf()和scanf()的常见问题
2.1.1 printf()函数
2.1.2 scanf()函数
2.2 输入数据时的回车换行问题
2.3 输出时常用的几个函数
2.3.1 clrscr()
2.3.2 getch()和getche()
2.4 输入输出重定向
习题2
第3章 程序的流程控制
3.1 选择结构
3.1.1 if语句和if-else语句
3.1.2 嵌套的if语句
3.1.3 if语句常见错误
3.1.4 if语句中的短路效应
3.1.5 switch语句
3.1.6 选择结构程序举例
3.2 循环结构
3.2.1 3种循环语句
3.2.2 计数器控制循环和其他条件控制循环
3.2.3 break和continue
3.2.4 循环结束时循环变量的值
3.2.5 循环举例
习题3
第4章 数组与指针
4.1 数组的由来及数组的元素
4.1.1 一维数组的由来及一维数组的元素
4.1.2 多维数组的由来及多维数组的元素
4.1.3 使用数组时的注意事项
4.2 指针变量及其应用
4.2.1 指针变量的定义、赋值和使用
4.2.2 指针变量的类型及运算
4.3 数组名的指针类型
4.3.1 数组名指向的对象
4.3.2 用数组名表示数组元素
4.4 用指针变量处理数组
4.4.1 用指向变量的指针变量处理数组
4.4.2 用指向数组的指针变量处理数组
4.4.3 用指针变量处理数组时的类型问题
4.5 不同场合下使用变量的方法
4.5.1 简单变量
4.5.2 下标变量
习题4
第5章 函数
5.1 函数的定义
5.1.1 函数定义的格式
5.1.2 函数的返回类型
5.1.3 函数参数的设置
5.2 函数的调用
5.2.1 函数调用前的声明
5.2.2 函数调用的方式
5.3 函数调用时的参数传递
5.4 地址作函数参数
5.4.1 什么时候传地址
5.4.2 变量的地址作参数
5.4.3 数组名作参数
5.4.4 不再用全局变量
5.4.5 地址作参数是单向传递还是双向传递
5.5 递归函数
5.5.1 递归的条件
5.5.2 递归与迭代
5.6 函数编程的常见错误
习题5
第6章 文件
6.1 文件的概念和文件的种类
6.1.1 文件的范畴
6.1.2 文件中存储数据的两种方式
6.1.3 文件的种类
6.1.4 文件操作的两个层面及缓冲区的概念
6.2 文件类型指针
6.3 文件的打开和关闭
6.3.1 文件的打开
6.3.2 文件的关闭
6.4 文件的读写
6.4.1 常用读写函数
6.4.2 读写指针的移动和定位
6.4.3 两个与当前位置指针有关的函数
6.4.4 文件读写的例子
习题6
第7章 变量和字符处理的几个问题
7.1 与变量有关的几个问题
7.1.1 变量的本质
7.1.2 同名变量的分辨
7.1.3 变量赋初值及初值问题
7.2 实型变量的存储及常见问题
7.2.1 实型变量的存储方式
7.2.2 实型变量的常见使用问题
7.3 字符处理的几个问题
7.3.1 结束标志用空字符还是换行符
7.3.2 循环次数是数组大小还是实际字符个数
习题7
第二篇 扩展C编程技术
第8章 内存管理机制与TC编译模式
8.1 寄存器和伪变量
8.1.1 微处理器中的寄存器
8.1.2 段寄存器及其用途
8.1.3 伪变量
8.2 内存的寻址模式
8.2.1 段式内存管理机制和实模式寻址
8.2.2 保护模式寻址
8.2.3 默认的段和偏移寄存器
8.2.4 近程指针与远程指针
8.2.5 与地址操作有关的几个函数(宏)
8.3 TC的编译模式
8.3.1 微模式
8.3.2 小模式
8.3.3 中模式
8.3.4 紧凑模式
8.3.5 大模式
8.3.6 巨模式
习题8
第9章 BIOS和DOS调用
9.1 概述
9.2 中断和中断向量表
9.2.1 中断
9.2.2 中断向量表
9.3 BIOS调用
9.3.1 BIOS调用简介
9.3.2 BIOS调用的方法和例子
9.4 DOS调用
9.4.1 DOS调用简介
9.4.2 DOS调用的方法和例子
9.5 BIOS和DOS系统调用函数
9.5.1 int86()
9.5.2 int86x()
9.5.3 intdos()
9.5.4 intdosx()
9.5.5 intr()
习题9
第10章 I/O接口的输入输出
10.1 I/O端口地址及编址方式
10.1.1 I/O端口的地址
10.1.2 I/O端口的编址
10.2 C语言用于I/O接口输入输出的函数
10.2.1 接口输入函数
10.2.2 接口输出函数
10.3 I/O接口输入输出举例
习题10
第11章 中断服务程序
11.1 硬中断和软中断
11.1.1 硬中断
11.1.2 软中断
11.2 中断向量表的写入
11.3 中断服务的实现
11.3.1 中断服务程序的编写
11.3.2 中断服务程序的安装
11.3.3 中断服务程序的激活
11.4 中断服务程序举例
习题11
第12章 C作图与图形处理
12.1 图形系统的初始化及基本框架
12.1.1 初始化图形系统
12.1.2 图形系统的关闭以及两种显示方式的转换
12.1.3 程序的基本框架及实例
12.2 图形系统中的像素与坐标
12.2.1 像素及坐标
12.2.2 像素函数及像素的颜色
12.3 常用图形函数
12.3.1 画点函数
12.3.2 有关画图坐标位置的函数
12.3.3 画线函数
12.3.4 画圆、椭圆和扇形函数
12.3.5 画矩形和条形图函数
12.3.6 颜色控制函数
12.3.7 线形控制函数
12.3.8 填充函数以及与填充有关的函数
12.4 图形方式下的文本输出函数
12.5 屏幕操作函数及动画基本知识
12.5.1 常用的屏幕操作函数
12.5.2 C语言动画设计的常用方法
12.5.3 动画示例
12.6 VRAM的读写
12.6.1 屏幕图形与VRAM的关系
12.6.2 VGA视频存储器的位面结构
12.6.3 将VRAM位面信息存入文件
12.6.4 将文件图像信息写入VRAM位面
习题12
第13章 键盘和鼠标操作
13.1 键盘操作
13.1.1 键盘的工作原理
13.1.2 键盘缓冲区
13.1.3 键盘处理函数
13.2 鼠标操作
13.2.1 鼠标的INT 33H功能调用
13.2.2 鼠标主要操作函数
13.2.3 改变鼠标形状
13.2.4 鼠标操作举例
习题13
第14章 汉字的显示与放大
14.1 汉字的编码
14.1.1 区位码
14.1.2 国标码
14.1.3 机内码
14.1.4 字形码
14.1.5 地址码
14.2 用作图方式显示和放大汉字
14.2.1 汉字的显示
14.2.2 汉字的放大
14.3 直接写VRAM法显示汉字
14.3.1 利用定序器直接写VRAM
14.3.2 用方式寄存器和位屏蔽寄存器直接写VRAM
习题14
第15章 数据结构基础
15.1 线性表
15.1.1 线性表的概念
15.1.2 线性表的存储结构
15.2 顺序表的操作
15.2.1 空顺序表的建立
15.2.2 求顺序表中某元素的序号
15.2.3 顺序表元素的插入
15.2.4 顺序表元素的删除
15.3 链表及操作
15.3.1 线性链表的表示
15.3.2 线性链表的操作
15.3.3 循环链表
15.3.4 双向链表
15.4 栈
15.4.1 栈的概念
15.4.2 栈的实现
15.5 队列
15.5.1 队列的概念
15.5.2 队列的实现和操作
习题15
第三篇 实例解析
第16章 基本编程实例
实例1 利用输入重定向从文件中读数据
实例2 火车托运费的计算
实例3 找小偷
实例4 判断整数能被3、5、7中的哪些数整除
实例5 找假货
实例6 计算某天是一年中的第几天
实例7 国民生产总值多少年翻番
实例8 兑换硬币
实例9 里程碑上的对称数
实例10 辗转赋值法求表达式的值
实例11 随机数的生成
实例12 打印魔方阵
实例13 猜数游戏
实例14 二维数组的排序输出
实例15 寻找假币
实例16 打印乘法口诀
实例17 计算矩阵相乘
实例18 向排好序的数组中插入数据
实例19 数组作计数器
实例20 判断字符串是否回文
实例21 找素数
实例22 字符串转换为实数
实例23 任意进制数的转换
实例24 利用位运算求整数的原码或补码
实例25 字符串逆置
实例26 用递归法逆序输出字符串
实例27 用递归法对数组排序
实例28 向主调函数中的局部变量存数据
实例29 通过指针变量使函数“返回”两个值
实例30 利用位运算对字母进行大小写转换
实例31 用结构体处理学生成绩
实例32 报数游戏
实例33 带参数的main函数
实例34 时钟程序
实例35 简单的计算器(一)
实例36 简单的计算器(二)
第17章 算法与数据结构实例
实例1 冒泡法排序
实例2 选择法排序
实例3 插入排序
实例4 储油问题
实例5 0-1背包问题
实例6 顺序表的插入和删除
实例7 链表操作(一)
实例8 链表操作(二)
实例9 链表的逆置
实例10 约瑟夫环
实例11 双链表的操作
实例12 多项式的表示和计算
实例13 十进制数转换为二进制数
实例14 检查括号配对
实例15 八皇后问题
实例16 迷宫问题
实例17 骑士巡游问题
实例18 农夫过河问题
实例19 表达式计算
第18章 趣味数学和数值计算实例
实例1 马克思手稿中的数学题
实例2 新郎和新娘配对
实例3 分糖果
实例4 泊松的分酒问题
实例5 求π的近似算法
实例6 角谷猜想
实例7 四方定量
实例8 卡布列克数
实例9 求解线性方程
实例10 求积分
实例11 超长整数的加法
第19章 图形编程实例
实例1 画点及画线函数
实例2 绘制圆、圆弧和椭圆
实例3 画矩形和条形的函数
实例4 设置背景色和前景色
实例5 设置线条类型
实例6 设置填充类型和填充颜色
实例7 图形方式下输出文本
实例8 绘制时钟
实例9 跳动小球
实例10 用直方图显示学生成绩分布
实例11 用圆饼图显示比例
实例12 相向运动的球
实例13 模拟满天星
实例14 正弦曲线
实例15 卫星环绕地球运动
实例16 按钮的制作
实例17 火箭发射演示
实例18 火焰动画制作
第20章 系统和文件操作实例
实例1 获取并修改当前驱动器
实例2 建立目录
实例3 选择当前目录
实例4 删除目录
实例5 获得当前目录
实例6 建立文件
实例7 打开文件
实例8 读文件
实例9 写文件
实例10 关闭文件
实例11 删除文件
实例12 文件改名
实例13 读取CMOS信息
实例14 文件连接
实例15 文件读写操作
第21章 趣味游戏实例
实例1 俄罗斯方块
实例2 贪吃蛇游戏
实例3 潜艇大战
实例4 搬运工
实例5 商人过河游戏
实例6 五子棋
实例7 扫雷
第22章 综合应用实例
实例1 数据文件的读取及图形显示
实例2 数独游戏的求解
实例3 通信录管理系统
附录A 常用的视频BIOS调用
附录B INT 21H常用功能调用一览表
附录C ASCII码表
参考文献