第1章 C语言概述 1
1.1 C语言产生过程 1
1.2 C语言的特点 2
1.3 简单的C程序介绍 3
1.4 C程序开发过程 6
1.5 Turbo C集成环境 7
1.6 运行一个C程序的基本操作 9
1.6.1 创建一个新C语言程序文件 9
1.6.2 程序文本输入 10
1.6.3 保存文件 10
1.6.4 打开文件 11
1.6.5 编辑文件 13
1.6.6 编译/连接 16
1.6.7 运行/调试 18
1.7 上机实训设计 21
实训 C程序的上机步骤 21
1.8 习题 23
第2章 数据类型、运算符与表达式 25
2.1 C语言的数据类型及其标识符 25
2.1.1 C语言的数据类型 25
2.1.2 标识符 26
2.2 常量与变量 27
2.2.1 常量 27
2.2.2 变量 33
2.2.3 各类数值型数据间的混合运算 39
2.3 基本运算符和表达式 41
2.3.1 算术运算符和算术表达式 41
2.3.2 赋值运算符和赋值表达式 45
2.3.3 逗号运算符和逗号表达式 48
2.4 应用举例 49
2.5 上机实训设计 50
2.5.1 实训1 基本数据类型 50
2.5.2 实训2 表达式的运用 52
2.6 习题 54
第3章 程序输入、输出设计 56
3.1 数据的输出 56
3.1.1 putchar函数 56
3.1.2 printf函数 57
3.2 数据的输入 61
3.2.1 getchar函数 61
3.2.2 scanf函数 62
3.3 输入、输出函数的常见错误 63
3.4 应用举例 64
3.5 上机实训设计 67
3.5.1 实训1 输入、输出的使用1 67
3.5.2 实训2 输入、输出的使用2 67
3.6 习题 70
第4章 程序的流程设计及典型应用 72
4.1 顺序结构流程设计 72
4.2 选择型流程设计 73
4.2.1 关系运算和逻辑运算 73
4.2.2 if语句 75
4.2.3 switch语句 79
4.3 循环型流程设计 82
4.3.1 goto语句以及用goto语句构成的循环 82
4.3.2 “当型”循环 83
4.3.3 “直到型”循环 85
4.3.4 break语句和continue语句 86
4.4 应用举例 87
4.5 上机实训设计 92
4.5.1 实训1 选择型流程设计 92
4.5.2 实训2 循环型流程设计 94
4.6 习题 95
第5章 数组类型及应用 101
5.1 一维数组及应用 101
5.1.1 一维数组的定义 101
5.1.2 一维数组的初始化 102
5.1.3 一维数组的简单应用 103
5.2 二维数组及应用 104
5.2.1 二维数组的定义 104
5.2.2 二维数组的初始化 105
5.2.3 二维数组的简单应用 105
5.3 字符串与字符数组 107
5.3.1 字符数组定义 107
5.3.2 字符数组初始化 107
5.3.3 字符数组的输入、输出 109
5.3.4 字符串处理函数 110
5.4 应用举例 114
5.5 上机实训设计 118
5.5.1 实训1 一维数组 118
5.5.2 实训2 二维数组 119
5.5.3 实训3 字符数组 121
5.6 习题 122
第6章 函数 127
6.1 函数的定义与调用 127
6.1.1 函数的定义 127
6.1.2 函数的调用 129
6.1.3 函数的说明 130
6.1.4 函数间的参数传递 131
6.2 函数的嵌套调用和递归调用 132
6.2.1 函数的嵌套调用 132
6.2.2 函数的递归调用 133
6.3 数组作为函数参数 135
6.3.1 数组元素作函数参数 135
6.3.2 一维数组元素名作函数参数 137
6.3.3 二维数组元素名作函数参数 141
6.4 内部变量与外部变量 142
6.4.1 内部变量 142
6.4.2 外部变量 143
6.5 变量的动态存储与静态存储简介 146
6.5.1 变量的存储方式 146
6.5.2 auto变量 146
6.5.3 static变量 147
6.5.4 extern变量 149
6.5.5 register变量 151
6.6 内部函数与外部函数 152
6.6.1 内部函数 152
6.6.2 外部函数 152
6.7 编译预处理 153
6.7.1 宏定义 153
6.7.2 文件包含 161
6.7.3 条件编译 163
6.8 应用举例 165
6.9 上机实训设计 174
6.9.1 实训1 函数 174
6.9.2 实训2 编译预处理 175
6.10 习题 176
第7章 指针 184
7.1 指针概述 184
7.1.1 变量的指针和指向变量的指针变量 185
7.1.2 定义一个指针变量 186
7.1.3 指针变量的引用 186
7.1.4 指针变量作为函数参数 190
7.1.5 指针变量几个问题的进一步说明 194
7.2 指针和数组 197
7.2.1 指向数组元素的指针 197
7.2.2 通过指针引用数组元素 198
7.2.3 数组名作函数参数 201
7.2.4 指向多维数组的指针和指针变量 208
7.3 字符串和指针 212
7.3.1 字符串的表示形式 212
7.3.2 使用字符串指针变量与字符数组的区别 216
7.4 函数与指针 216
7.5 指针作为函数的返回值 218
7.6 指针数组和指向指针的指针 219
7.6.1 指针数组的概念 219
7.6.2 指向指针的指针 223
7.7 有关指针的数据类型和指针运算的小结 225
7.7.1 有关指针的数据类型的小结 225
7.7.2 指针运算的小结 225
7.8 应用举例 226
7.9 上机实训设计 228
7.9.1 实训1 指针变量 228
7.9.2 实训2 指针数组 230
7.10 习题 231
第8章 结构体与共用体 241
8.1 结构体类型的变量 241
8.1.1 结构体类型的定义 241
8.1.2 结构体变量的定义 242
8.1.3 结构体变量的初始化 243
8.1.4 结构体变量的引用 245
8.2 结构体变量数组 245
8.2.1 结构体数组的定义 245
8.2.2 结构体数组的初始化 246
8.3 结构体变量与指针 248
8.3.1 指向结构体变量的指针 248
8.3.2 指向结构体数组的指针 250
8.4 结构体与函数参数 252
8.4.1 结构体变量作函数参数 252
8.4.2 指向结构体变量的指针作函数参数 252
8.5 共用体 253
8.6 枚举类型 256
8.6.1 枚举类型的定义和枚举变量的说明 256
8.6.2 枚举类型的使用 257
8.7 应用举例 258
8.8 上机实训设计 261
8.8.1 实训1 结构体练习 261
8.8.2 实训2 共用体及枚举类型的使用 262
8.9 习题 263
第9章 文件 268
9.1 文件的基本概念 268
9.2 文件指针 269
9.3 文件的打开、读写和关闭 269
9.3.1 fopen函数(文件打开函数) 269
9.3.2 fclose函数(文件关闭函数) 270
9.3.3 fgetc、fgets、fread、fscanf函数(文件读函数) 271
9.3.4 fputc、fputs、fwrite、fprintf函数(文件写函数) 273
9.4 rewind、fseek、ftell函数(文件定位函数) 277
9.5 文件检测函数 280
9.6 应用举例 280
9.7 上机实训设计 283
9.7.1 实训1 文件的读写函数的使用 283
9.7.2 实训2 文件定位及检测函数的使用 284
9.8 习题 285
部分习题答案 288
附录 306
附录1 C语言的字符集-ASCⅡ字符表 306
附录2 C语言的关键字 307
附录3 C语言运算符的结合性 308
附录4 C语言的库函数 309
附录5 Turbo C常见错误提示英汉 315
参考文献 319