第1章 C语言程序设计基础 1
1.1 C语言的发展史及其基本特性 1
1.1.1 C语言的发展历史 1
1.1.2 C语言的主要特性 2
1.2 C语言集成开发环境简介 3
1.2.1 Turbo C的安装 3
1.2.2 Turbo C 2.0的启动与退出 4
1.2.3 Turbo C命令菜单的使用 6
1.3 C程序的基本结构 8
1.3.1 C语言的基本结构 8
1.3.2 程序设计的概念及特点 10
1.4 C语言的上机操作过程 10
1.4.1 运行一个C语言程序的过程 10
1.4.2 在Turbo C下运行C语言程序的基本步骤 11
1.5 本章小结 13
1.6 实验指导 13
练习1-1 14
习题 16
第2章 基本数据类型、运算符和表达式 17
2.1 C语言的基本数据类型 17
2.1.1 常量与变量 17
2.1.2 基本数据类型 20
练习2-1 25
2.2 C语言的运算符和表达式 27
2.2.1 基本运算符和表达式 27
2.2.2 运算符的优先级及结合性 35
练习2-2 35
2.2.3 位逻辑运算符 38
2.2.4 其他运算符 41
练习2-3 45
2.3 数据类型间的转换 46
2.3.1 自动转换 46
2.3.2 强制转换 48
练习2-4 48
2.4 小结及常见错误列举 49
2.4.1 本章小结 49
2.4.2 常见错误列举 49
2.5 实验指导 52
习题 53
第3章 程序控制 55
3.1 程序控制基本结构 55
3.1.1 结构化程序设计思想 55
3.1.2 程序设计步骤 55
3.2 C语句概述 58
练习3-1 59
3.3 C程序中的数据输入与输出 60
3.3.1 标准输入输出(printf和scanf)函数 60
练习3-2 67
3.3.2 putchar()和getchar()函数 72
3.3.3 puts()和gets()函数 73
练习3-3 74
3.4 顺序结构程序设计 75
3.5 选择结构程序设计 78
3.5.1 选择结构程序语句 78
3.5.2 简单if语句实现选择结构程序设计 82
练习3-4 83
3.5.3 if-else语句实现选择结构程序设计 84
练习3-5 85
3.5.4 if-else if语句实现选择结构程序设计 87
练习3-6 88
3.5.5 switch语句实现选择结构程序设计 89
练习3-7 90
3.5.6 多种选择结构语句程序设计 90
练习3-8 91
3.5.7 条件运算符实现选择结构程序设计 92
练习3-9 92
3.6 循环结构程序设计 93
3.6.1 循环结构语句 93
练习3-10 96
3.6.2 while语句实现循环结构程序设计 96
练习3-11 99
3.6.3 do-while语句实现循环结构程序设计 101
练习3-12 102
3.6.4 for语句实现循环结构程序设计 103
练习3-13 104
3.6.5 if与goto构成的循环 106
3.6.6 循环的嵌套 107
练习3-14 110
3.6.7 几种循环语句的比较 112
3.6.8 break语句 112
3.6.9 continue语句 113
练习3-15 114
3.6.10 return语句 115
3.7 混合控制结构的程序设计 115
练习3-16 120
3.8 小结及常见错误列举 128
3.8.1 本章小结 128
3.8.2 常见错误列举 128
练习3-17 131
3.9 实验指导 133
习题 136
第4章 数组 139
4.1 一维数组的定义与引用 139
4.1.1 一维数组的定义 139
4.1.2 一维数组的初始化 140
4.1.3 一维数组元素的引用 141
4.1.4 一维数组的应用实例 141
练习4-1 144
4.2 二维数组的定义与引用 147
4.2.1 二维数组的定义 147
4.2.2 二维数组的初始化 148
4.2.3 二维数组的引用 149
4.2.4 二维数组的应用实例 150
练习4-2 153
4.3 字符数组 155
4.3.1 字符数组的定义 155
4.3.2 字符数组的初始化 156
4.3.3 字符数组的引用 157
4.3.4 字符数组的输入和输出 158
4.3.5 字符串处理函数 159
练习4-3 162
4.4 多维数组 164
4.5 小结及常见错误列举 164
4.5.1 本章小结 164
4.5.2 常见错误列举 165
4.6 实验指导 166
习题 167
第5章 函数 171
5.1 函数定义 171
5.1.1 函数引言 171
5.1.2 函数分类 172
5.1.3 函数定义 173
5.2 函数调用 175
5.2.1 函数调用形式 175
5.2.2 函数调用方式 176
5.2.3 函数参数和返回值 177
练习5-1 179
5.3 函数嵌套调用和递归调用 182
5.3.1 函数嵌套调用 182
5.3.2 函数递归调用 184
5.3.3 函数嵌套和递归综合应用 185
练习5-2 187
5.4 数组作为函数参数 188
5.4.1 数组元素作为函数实参 188
5.4.2 数组名作为函数参数 189
练习5-3 190
5.5 变量作用域和存储类别 191
5.5.1 局部变量 191
5.5.2 全局变量 192
5.5.3 存储方式 194
5.5.4 存储类型小结 197
5.6 函数作用域 198
5.6.1 内部函数 198
5.6.2 外部函数 198
5.6.3 函数作用域举例 199
练习5-4 199
5.7 小结及常见错误列举 202
5.7.1 本章小结 202
5.7.2 常见错误列举 203
5.8 实验指导 205
习题 207
第6章 指针 210
6.1 指针概述 210
6.1.1 变量寻址 210
6.1.2 指针的定义与引用 211
练习6-1 214
6.2 指针的运算 217
6.2.1 指针运算符 217
6.2.2 指针运算 218
6.3 指针与数组 220
6.3.1 指向数组元素的指针 221
6.3.2 指向二维数组的指针 223
6.3.3 指针数组 224
练习6-2 225
6.4 指针与字符串 227
练习6-3 232
6.5 指针与内存的动态分配 234
练习6-4 234
6.6 指针与数组作为函数的参数 235
6.6.1 指针作为函数参数 235
练习6-5 236
6.6.2 指针数组作为函数参数 240
练习6-6 241
6.7 带参数的main函数 242
练习6-7 243
6.8 指针作为函数的返回值 245
6.9 函数指针的定义与引用 246
练习6-8 247
6.10 小结及常见错误列举 248
6.10.1 本章小结 248
6.10.2 常见错误列举 249
6.11 实验指导 250
习题 252
第7章 预处理命令 258
7.1 预处理命令简介 258
7.2 宏定义 259
7.2.1 不带参数的宏定义 259
7.2.2 带参数的宏定义 263
练习7-1 267
7.3 文件包含 270
7.4 条件编译 272
7.5 本章小结 274
7.6 实验指导 274
习题 276
第8章 复杂数据类型 279
8.1 复杂数据类型概述 279
8.2 结构体 280
8.2.1 结构体类型的定义 280
8.2.2 结构体变量的定义 281
8.2.3 结构体变量的引用 283
8.2.4 结构体变量的初始化 284
8.2.5 结构体数组 286
8.2.6 结构体指针 290
8.3 使用结构体指针处理链表 297
8.3.1 链表概述 297
8.3.2 动态存储分配 298
8.3.3 链表基本操作 300
练习8-1 304
8.4 共用体 310
8.4.1 共用体概述 310
8.4.2 共用体变量的定义 311
8.4.3 共用体变量的引用 312
8.4.4 共用体变量的赋值和使用 313
8.5 枚举类型 315
8.5.1 枚举类型概述 315
8.5.2 枚举类型的定义 315
8.5.3 枚举类型变量的定义与使用 316
8.6 用户自定义类型 318
练习8-2 319
8.7 小结及常见错误列举 322
8.7.1 本章小结 322
8.7.2 常见错误列举 323
8.8 实验指导 324
习题 327
第9章 文件 331
9.1 文件操作概述 331
9.1.1 文件的基本概念 331
9.1.2 文件的分类 331
练习9-1 332
9.2 文件指针 333
9.3 文件的打开和关闭 333
9.3.1 文件的打开(fopen函数) 334
练习9-2 335
9.3.2 文件关闭函数(fclose函数) 337
9.4 文件的读写 337
9.4.1 字符读写函数fgetc和fputc 338
9.4.2 字符串读写函数fgets和fputs 341
练习9-3 343
9.4.3 数据块读写函数fread和fwrite 344
练习9-4 345
9.5 文件随机读取函数rewind和fseek 346
9.5.1 rewind函数 346
9.5.2 fseek函数 346
9.5.3 文件检测函数 348
练习9-5 350
9.6 C库文件 351
练习9-6 352
9.7 小结及常见错误列举 354
9.7.1 本章小结 354
9.7.2 常见错误列举 355
9.8 实验指导 355
习题 357
附录A 常用表 361
附录B ASCII码字符表 363
附录C Turbo C编译错误信息 364
附录D Turbo C库函数简介 367
附录E 全国计算机等级考试二级C语言考试大纲 371
参考文献 375