第一章 概述 1
1.1 C语言的起源及其发展 1
1.2 C语言的特点 2
第二章 C语言编程初步 5
2.1 C语言程序实例 5
2.2 C程序概述 7
2.3 说明语句 10
2.4 赋值语句 10
2.5 输入输出语句 11
2.6 函数初步 15
2.7 C语言程序结构 17
2.8 编写C语言程序的全过程 17
2.8.1 单个源程序文件的情况 17
2.8.2 多个源程序文件的情况 19
2.9 思考题 21
第三章 基本数据类型和运算 23
3.1 变量和常量 24
3.1.1 常量 24
3.1.2 反斜杠代码常量 25
3.1.3 变量 26
3.2 基本数据类型 27
3.2.1 整数类型 27
3.2.2 浮点数类型 30
3.2.3 字符类型 31
3.2.4 变量的初始化 34
3.3 运算符和表达式 35
3.3.1 运算符简介 35
3.3.2 算术运算符及算术表达式 36
3.3.3 关系运算符及关系表达式 37
3.3.4 逻辑运算符和逻辑表达式 38
3.3.5 自增自减运算符 38
3.3.6 赋值运算符 39
3.3.7 其它运算符 40
3.4 数据类型转换 41
3.4.1 各类数值型数据在进行混合运算时的类型转换 42
3.4.2 赋值运算符对数据类型的转换 43
3.4.3 强制性数据类型转换 45
3.4.4 利用C提供的标准函数进行类型转换 46
3.5 思考题 47
第四章 逻辑判断语句 50
4.1 if语句 50
4.2 if-else语句 52
4.3 if—else if语句 53
4.4 嵌套if语句 56
4.5 开关语句(switch) 59
4.5.1 开关语句的一般形式 59
4.5.2 嵌套的switch语句 62
4.6 转移语句(goto) 63
4.7 终止退出(exit) 64
4.8 应用举例 65
4.9 思考题 66
第五章 程序循环控制 68
5.1 for循环控制语句 68
5.2 while循环控制语句 74
5.3 do-while循环控制语句 75
5.4 循环嵌套 78
5.5 break和continue语句 79
5.5.1 break语句 79
5.5.2 continue语句 80
5.6 循环体中的goto语句 81
5.7 应用举例 83
5.8 思考题 86
第六章 函数和变量 87
6.1 函数的定义 87
6.2 函数的形式参数和实际参数 88
6.3 函数的返回值与返回语句 91
6.3.1 带返回值的函数和返回语句 91
6.3.2 不带返回值的函数 93
6.4 函数调用 94
6.4.1 函数的调用方式 95
6.4.2 对被调用函数的说明 95
6.4.3 函数的嵌套调用 97
6.4.4 函数的递归调用 98
6.5 带参数的主函数(命令行变元) 99
6.6 全局变量和局部变量 101
6.6.1 局部变量 101
6.6.2 全局变量 102
6.7 变量的存储分类 105
6.7.1 动态存储变量和静态存储变量 106
6.7.2 C语言变量存储分类指定 106
6.7.3 外部的—extern 107
6.7.4 静态的—static 108
6.7.5 寄存器的—register 111
6.7.6 自动的—auto 112
6.7.7 变量存储分类总结 113
6.8 内部函数与外部函数 114
6.9 思考题 115
第七章 数组 116
7.1 一维数组 116
7.1.1 一维数组的定义 116
7.1.2 一维数组元素的引用和初始化 116
7.1.3 作为字符串使用的一维数组 118
7.2 二维数组 119
7.2.1 二维数组的定义 119
7.2.2 二维数组的引用和初始化 120
7.2.3 字符串数组 121
7.3 多维数组 124
7.4 数组的传递 125
7.5 应用举例 127
7.6 思考题 128
第八章 指针 130
8.1 指针的概念 130
8.1.1 直接与间接 130
8.1.2 计算机的寻址方式 130
8.1.3 变量和指针变量 131
8.1.4 C语言中指针变量的定义和使用 133
8.2 指针表达式 136
8.2.1 指针赋值 136
8.2.2 指针运算 136
8.2.3 指针的比较 137
8.3 指针与数组 139
8.3.1 指向数组元素的指针变量 140
8.3.2 指向多维数组元素的指针变量 143
8.3.3 数组指针 144
8.3.4 指针和数组作函数的参数 145
8.4 指针数组 152
8.5 多级指针 154
8.6 字符串指针 157
8.7 指针的初始化和动态分配内存 159
8.7.1 指针的初始化 159
8.7.2 动态分配内存 160
8.8 指针型函数和函数指针 162
8.8.1 指针型函数 162
8.8.2 函数指针和函数指针变量 164
8.9 思考题 169
第九章 结构与联合 170
9.1 结构定义、结构型变量和结构成员的引用 170
9.1.1 结构的定义 170
9.1.2 结构变量的定义 171
9.1.3 结构成员的引用 174
9.1.4 结构变量的初始化 176
9.2 结构数组 176
9.3 结构指针 179
9.4 结构与函数 181
9.4.1 结构变量作为函数的形式参数 181
9.4.2 结构数组作为函数参数传递 182
9.4.3 结构指针作为函数参数传递 182
9.4.4 返回指向结构变量地址的函数 183
9.5 结构内的数组和结构 185
9.5.1 结构内的数组 185
9.5.2 结构内的结构 186
9.6 联合 187
9.6.1 联合及联合型变量的定义 187
9.6.2 联合成员的引用 188
9.7 思考题 192
第十章 位操作 193
10.1 位的概念 193
10.2 位操作运算及C语言的位操作运算符 194
10.2.1 按位与(&) 194
10.2.2 按位或(|) 195
10.2.3 按位异或(?) 196
10.2.4 按位求反(-) 197
10.2.5 左移(<<) 198
10.2.6 右移(>>) 199
10.2.7 位运算示例 199
10.3 位域 200
10.4 思考题 203
第十一章 I/O操作 205
11.1 字符输入与输出 205
11.2 数据格式输入与输出 206
11.2.1 scanf()函数 206
11.2.2 printf()函数 209
11.3 文件输入与输出 213
11.3.1 文件类型指针 214
11.3.2 文件的打开与关闭 215
11.3.3 文件的读写 218
11.3.4 文件的定位 221
11.3.5 出错检测 224
11.4 思考题 224
第十二章 预处理程序 226
12.1 #define语句 226
12.2 #include 230
第十三章 其它数据类型 233
13.1 枚举类型 233
13.2 用户自定义类型 234
第十四章 其它问题 237
14.1 中断调用 237
14.1.1 REGS和SREGS 237
14.1.2 INT21H功能调用 238
14.1.3 8086系列处理机中断调用 241
14.2 与汇编语言的混合使用 244
附录A 思考题参考答案 247
附录B C语言关键字 275
附录C C语言的运算符及其优先级 276
附录D C语言功能汇总 278
附录E Microsoft C6.0常用库函数 281