1 C语言的特点与程序结构 3
1.1 C语言的特点 3
1.1.1 C语言的发展历史 3
1.1.2 C语言的编程特点 3
第一篇 认识篇 3
1.2 C语言程序的基本结构 6
1.2.1 程序头部 7
1.2.2 main函数 8
1.2.3 其他部分 8
1.3.1 源程序 9
1.2.4 示例 9
1.3 程序设计中的几个名词术语 9
1.3.2 编译/解释、编译/解释型语言系统 10
1.3.3 编译程序、目标程序 10
1.3.4 链接程序与链接 10
1.3.5 解释程序与解释 11
1.3.6 编译型程序系统与解释型程序系统 11
2 C语言的基本数据类型与简单I/O 12
2.1 C语言的基本数据类型 12
2.2.1 常量 14
2.2 C语言的常量与变量 14
2.2.2 变量 15
2.2.3 标识符 17
2.3.1 printf 18
2.3 C语言的基本I/O操作 19
2.3.2 scanf 19
2.3.3 getch,getche,gets 21
2.3.4 putch,puts 21
2.3.5 /*...*/C语言的注释 21
3.1.1 语句 23
3.1 语句结构概述 23
3 C语言的语句特征 23
3.1.2 流程及流程图 25
3.1.3 表达式 26
3.2 C程序的三种基本结构及其语句 29
3.2.1 顺序结构 29
3.2.2 选择结构 30
3.2.3 循环结构 33
4 函数 40
4.1 库函数 40
4.2.1 定义函数 41
4.2 自定义函数 41
4.2.2 声明原型 42
4.2.3 函数结构的要素 42
4.3 函数的参数调用 46
4.3.1 调用条件与方式 46
4.3.2 形参与实参 47
5.1.1 变量的分类 52
5.1.2 数据在内存的存储 52
5.1 变量性质概述 52
5 变量的存储属性 52
5.2 各类变量的存储属性分析 53
5.2.1 局部变量 53
5.2.2 全局变量 57
5.2.3 动态、静态、全局、局部的关系 58
6 宏与工程 62
6.1 宏及其特点 62
6.1.1 宏定义的类型 63
6.1.2 宏定义的注意事项 64
6.1.3 宏与函数的比较 64
6.2.2 建立工程文件的方法 66
6.2.1 工程的概念 66
6.2 工程与工程文件 66
6.2.3 开发工程时的注意事项 67
7 C语言的一维数组及其应用 68
7.1 数组的概念与基本属性 68
7.1.1 数组的概念 68
7.1.2 一维数组的定义 68
7.1.3 一维数组的初始化 69
7.1.4 一维数组的操作 69
7.1.5 一维数组的下标运算 70
7.2 数组的引用 71
7.1.6 数组的存储属性 71
7.2.1 一维数组作为函数的参数的特点 72
7.2.2 使用数组的注意事项 74
7.3 字符数组与字符串 76
7.3.1 字符数组的定义 76
7.3.2 字符数组的初始化 76
7.3.3 字符‘\0 的特殊意义 77
8 指针及其属性 79
8.1 C语言的指针及其性质 79
8.1.1 指针的概念 79
8.1.4 指针变量容易产生的误区 80
8.1.2 首地址 80
8.1.3 指针变量 80
8.2 指针变量的引用规律 82
8.2.1 一般引用 82
8.2.2 指针变量作为函数的参数 84
8.2.3 用指针作函数的参数的优点 84
8.3 指针与数组 86
8.3.1 指针访问数组元素 86
8.3.2 指针与字符串 88
8.3.3 指针、数组、字符串的关系 91
8.4.2 指针数组 94
8.4 指针的其他问题 94
8.4.1 返回指针的函数 94
8.4.3 指向函数指针的应用 97
9 结构体、共用体数据及其应用 100
9.1 结构数据类型 100
9.1.1 结构体的构造与特点 100
9.1.2 结构体类型变量的定义 101
9.1.3 类型与变量 102
9.1.4 不同定义方法的比较 102
9.2.1 一般引用 103
9.1.5 结构体变量的存储属性 103
9.2 结构变量的引用规律 103
9.2.2 作为函数的参数的引用 105
9.3 结构数组、指针及函数 107
9.3.1 结构数组的定义与调用 107
9.3.2 结构指针的定义与引用 107
9.3.3 结构体类型的函数 111
9.4 链表及其应用 113
9.5.1 共用体的概念与特点 116
9.5 共用体 116
9.5.2 共用体变量的引用规律 118
10 C语言的文件I/O及其应用 122
10.1 C语言文件及其属性 122
10.2 缓冲文件的操作 123
10.2.1 缓冲文件的打开与关闭 124
10.2.2 文件的顺序读写 126
10.2.3 文件的随机读写 129
10.2.4 文件结束符 132
10.3 非缓冲文件及其操作 133
10.3.1 非缓冲文件的基本操作 133
10.2.5 缓冲文件的其它操作 133
10.3.2 非缓冲文件的应用 134
11 C语言的位运算与低级操作 136
11.1 位运算 136
11.1.1 位运算的概念 136
11.1.2 C语言的位操作运算 137
11.1.3 按位操作的一些简单应用技巧 137
11.2 位运算的应用 138
11.3 C语言的低级操作 142
11.3.1 int86 143
11.3.2 bdos 146
11.3.3 intdos 148
12 C语言混合编程 151
12.1 C语言与汇编语言接口 151
12.1.1 ANSI C里使用#asm和#endasm指令 152
12.1.2 TURBO C和BORLAND C里使用asm语句 152
12.2 C语言与其它高级语言接口 155
13.1 基本制作 161
13.1.1 菜单制作技术 161
第二篇 实践与提高篇 161
13 界面制作技术 161
13.1.2 综合界面制作 170
13.2 一个完整的界面例子 173
14 图形开发技术 188
14.1 图形显示与视频初始化 188
14.2 图形开发的几个技术问题 192
14.2.1 图形菜单的制作 192
14.2.2 汉字的显示 197
15.1 汉字显示的问题及解决方法 200
15.1.1 西文DOS下显示汉字的方法 200
15 汉字开发技术 200
15.1.2 西文DOS下汉字显示技术开发 202
15.1.3 汉字显示的放大技术 204
15.2 自建汉字库与汉化软件 207
15.3 其他开发技术实践 210
15.3.1 PASCAL语言到C语言的转换工具 211
15.3.2 分页打印程序的设计 218
附录A 测试题 225
第一部分 单向选择题 225
第二部分 阅读理解题 240
第三部分 测试题参考答案 268
附录B TURBO C常用库函数简介 272