第一章 C语言概述 1
1-1 C语言及其特点 1
1.1.1 C语言简史 1
1.1.2 C语言的特点 1
1-2 C程序 2
1-3 C程序上机操作 5
1.3.1 在PC-DOS操作系统下运行C程序的步骤 5
1.3.2 在集成环境下运行C程序 5
思考题与习题 6
第二章 数据类型、运算符与表达式 8
2-1 概述 8
2.1.1 数据类型 8
2.1.2 常量与变量 8
2.1.3 变量的定义 9
2-2 整型数据与实型数据 9
2.2.1 整型常量 9
2.2.2 整型变量 9
2.2.3 实型常量 11
2.2.4 实型变量 11
2-3 字符型数据 12
2.3.1 字符常量 12
2.3.2 字符变量 13
2.3.3 字符串常量 14
2.3.4 字符数组 14
2-4 类型的混合运算 15
2-5 数组 17
2.5.1 数组的定义 17
2.5.2 数组的初始化 18
2.5.3 数组元素的引用 19
2-6 基本运算符、表达式 21
2.6.1 运算符分类 21
2.6.2 表达式 22
2.6.3 算术运算符、算术表达式 22
2.6.4 赋值运算符 23
2.6.5 关系运算符 25
2.6.6 逻辑运算符 25
2.6.7 逗号运算符 26
习题 27
第三章 C程序设计初步 29
3-1 C语句 29
3-2 函数及函数库 31
3.2.1 函数的定义 31
3.2.2 函数参数及参数传递 32
3.2.3 函数的返回值 33
3-3 库函数 35
3.3.1 库函数简介 36
3.3.2 嵌入文件 40
3-4 数据输出函数 41
3.4.1 字符输出函数 42
3.4.2 格式输出函数 43
3-5 数据输入函数 47
3.5.1 字符输入函数 47
3.5.2 格式输入函数 48
习题 51
第四章 流程控制 53
4-1 if语句 53
4.1.1 if语句的三种形式 53
4.1.2 if语句的嵌套 56
4.1.3 条件运算符 56
4-2 for语句 57
4-3 while语句和do-while语句 59
4.3.1 while语句 60
4.3.2 do-while语句 60
4-4 break语句和cont inue语句 61
4.4.1 break语句 61
4.4.2 continue语句 62
4-5 switch语句 63
4-6 goto语句 64
4-7 程序例 65
习题 67
第五章 编译预处理 69
5-1 宏定义 69
5.1.1 不带参数的宏定义 69
5.1.2 带参数的宏定义 71
5.1.3 带参数的宏与函数 72
5-2 文件包含处理 74
5-3 条件编译 78
习题 80
第六章 函数调用 81
6-1 函数的调用 81
6.1.1 函数调用形式 81
6.1.2 被调函数的说明 82
6-2 嵌套调用与递归调用 83
6.2.1 函数的嵌套调用 83
6.2.2 函数的递归调用 86
6-3 数组作函数参数 89
6-4 内部函数与外部函数 93
6.4.1 内部函数 93
6.4.2 外部函数 93
6-5 局部变量与全局变量 95
6.5.1 局部变量 95
6.5.2 全局变量 96
6-6 变量的存储类别 97
6.6.1 局部变量的存储方式 98
6.6.2 全局变量的存储方式 100
6.6.3 变量存储类别小结 101
习题 102
第七章 指针 103
7-1 概述 103
7-2 变量的指针 104
7.2.1 指针变量的定义 105
7.2.2 指针变量的引用 105
7.2.3 指针变量作函数参数 106
7-3 数组的指针 108
7.3.1 指向数组元素的指针变量 109
7.3.2 指向数组的指针的使用 110
7.3.3 指向多维数组的指针 111
7-4 字符串指针 116
7.4.1 指向字符串的指针变量 116
7.4.2 字符指针变量与字符数组 118
7-5 函数的指针和指针函数 119
7.5.1 函数的指针 119
7.5.2 指针函数 120
7-6 指针数组和指向指针的指针 122
7.6.1 指针数组 122
7.6.2 main函数的参数 123
7.6.3 指向指针的指针 125
7-7 指针小结 128
习题 129
第八章 结构数据 131
8-1 结构类型变量的定义 131
8-2 结构类型变量的引用 134
8.2.1 结构类型变量的初始化 134
8.2.2 结构类型变量的引用 134
8-3 结构数组 137
8-4 结构指针 138
8.4.1 指向结构变量的指针 138
8.4.2 指向结构数组的指针 140
8.4.3 用结构指针作函数参数 140
8-5 动态链表 141
8-6 联合 147
8.6.1 联合的概念 147
8.6.2 联合变量的引用 149
8-7 枚举类型和用typedef定义类型 152
8.7.1 枚举类型 152
8.7.2 用typedef定义类型 153
习题 154
第九章 文件处理 155
9-1 文件概述 155
9-2 文件类型指针 156
9-3 流式文件函数 157
9.3.1 文件的打开和关闭 157
9.3.2 文件的读写 159
9.3.3 文件的定位 164
习题 165
第十章 C与PC-DOS接口 167
10-1 8086处理机 167
10.1.1 8086 CPU 167
10.1.2 地址计算 168
10-2 存储模式 169
10.2.1 标准存储模式 169
10.2.2 混合存储模式 170
10-3 8086中断与PC-DOS 173
10.3.1 8086中断 173
10.3.2 MS-DOS的中断 173
10.3.3 C访问BIOS系统资源 174
10-4 C访问DOS功能调用 178
10.4.1 DOS功能调用 178
10.4.2 DOS接口例程 178
10.4.3 中断函数 184
10-5 位运算符及其应用 186
10.5.1 字段 186
10.5.2 位运算符 189
习题 192
第十一章 图形处理与菜单技术 194
11-1 图形处理 194
11.1.1 视屏模式 194
11.1.2 低级图形函数 195
11.1.3 动画设计 199
11.1.4 直观图形 202
11-2 菜单技术 207
11.2.1 简易菜单 207
11.2.2 文本窗口与边框 209
11.2.3 光条技术 210
11.2.4 弹出式菜单 212
11.2.5 “DOS Shell”处理 217
习题 218
第十二章 C与汇编语言的接口 220
12-1 C调用汇编语言 220
12.1.1 调用约定 220
12.1.2 被调用的汇编语言程序 221
12.1.3 C程序接口 222
12.1.4 建立汇编语言框架 222
12.1.5 C调用汇编语言程序举例 224
12-2 内部汇编器 228
习题 230
附录一 ASCII表 231
附录二 C运算符及其优先级与结合性 232
附录三 C库函数 233
附录四 错误信息表 244