第1章 C语言概述 1
1.1 程序设计语言 1
1.2 C语言介绍 2
1.2.1 C源程序的结构特点 3
1.2.2 程序设计的算法描述 6
1.3 C语言的基本词法 7
1.3.1 字符集 7
1.3.2 保留字 8
1.3.3 标识符及其构成规则 9
本章小结 10
习题 10
第2章 数据类型、运算符及表达式 12
2.1 C语言的数据类型 12
2.2 常量 13
2.2.1 整型常量 14
2.2.2 实型常量 15
2.2.3 字符常量 16
2.2.4 字符串常量 17
2.3 变量 18
2.3.1 变量的声明 18
2.3.2 变量的存储类型 19
2.3.3 变量的初始化 20
2.3.4 变量地址与取地址符& 21
2.4 运算符和表达式 21
2.4.1 算术运算符与算术表达式 22
2.4.2 赋值运算符与赋值表达式 25
2.4.3 关系运算符与关系表达式 26
2.4.4 逻辑运算符与逻辑表达式 27
2.4.5 条件运算符与条件表达式 28
2.4.6 逗号运算符与逗号表达式 30
2.4.7 位运算符 31
2.4.8 表达式中数据类型的转换 34
本章小结 35
习题 35
第3章 C语言程序设计 39
3.1 顺序结构程序设计 39
3.1.1 赋值语句、复合语句及空语句 39
3.1.2 字符输入函数与字符输出函数 40
3.1.3 格式输入函数与格式输出函数 42
3.1.4 程序设计 46
3.2 分支结构程序设计 47
3.2.1 if分支 47
3.2.2 if-else分支 48
3.2.3 if-else if多分支 49
3.2.4 if语句的嵌套 51
3.2.5 switch多分支语句 53
3.3 循环结构程序设计 56
3.3.1 goto语句 56
3.3.2 while循环语句 57
3.3.3 do-while循环语句 59
3.3.4 for循环语句 60
3.3.5 几种循环比较 64
3.3.6 break语句和continue语句 65
3.3.7 循环语句的嵌套 66
3.4 程序设计中常见的错误 69
3.4.1 分支语句中常见的错误 70
3.4.2 循环语句中常见的错误 71
3.5 结构化程序设计 72
本章小结 73
习题 74
第4章 数组 81
4.1 一维数组 81
4.1.1 一维数组的定义 81
4.1.2 一维数组的初始化 82
4.1.3 一维数组元素的引用 83
4.2 二维数组 86
4.2.1 二维数组的定义 86
4.2.2 二维数组的初始化 87
4.2.3 二维数组元素的引用 88
4.3 字符数组 90
4.3.1 字符数组的定义 91
4.3.2 字符数组的初始化 91
4.3.3 字符数组元素的引用 92
4.3.4 字符数组的输入输出 93
4.3.5 常用字符串处理函数 94
本章小结 99
习题 100
第5章 函数 105
5.1 函数概述 105
5.1.1 函数的定义 107
5.1.2 函数的调用 109
5.1.3 变量的作用域与生命期 113
5.2 函数调用中的参数 115
5.2.1 变量作为函数调用中的参数 115
5.2.2 静态变量作为函数调用中的参数 120
5.2.3 数组作为函数调用中的参数 122
5.3 内部函数和外部函数 125
5.3.1 内部函数 125
5.3.2 外部函数 125
本章小结 126
习题 126
第6章 指针 129
6.1 指针的概念 129
6.2 指针和指针变量 130
6.2.1 指针变量的定义 130
6.2.2 指针变量初始化 131
6.2.3 直接访问和间接访问 132
6.2.4 取地址运算符与指针运算符 132
6.2.5 指针变量作为函数参数 135
6.3 指针与数组 136
6.3.1 指向数组的指针变量 136
6.3.2 指针数组的说明和初始化 137
6.3.3 指针数组元素的引用 137
6.3.4 指向数组的指针作为函数参数 145
6.4 指针与字符串 147
6.5 指针型函数 151
6.5.1 指针型函数的定义 151
6.5.2 指针型函数的使用 151
本章小结 153
习题 153
第7章 用户自定义数据类型 168
7.1 结构体 168
7.1.1 结构体类型的定义 168
7.1.2 结构体变量的定义与初始化 170
7.1.3 结构体变量的引用 171
7.2 指向结构体类型数据的指针 173
7.2.1 指向结构体变量的指针 173
7.2.2 指向结构体数组的指针 175
7.3 共用体 179
7.3.1 共用体类型的定义 179
7.3.2 共用体类型的使用 180
7.4 枚举类型 183
7.5 类型定义符typedef 184
本章小结 185
习题 186
第8章 文件 190
8.1 文件概述 190
8.1.1 文件的概念 190
8.1.2 文件类型指针 191
8.2 文件的打开与关闭 193
8.2.1 文件的打开 193
8.2.2 文件的关闭 195
8.3 文件的读写 196
8.3.1 文件尾测试函数 196
8.3.2 读/写字符函数 197
8.3.3 读/写字符串函数 200
8.3.4 读/写数据函数 202
8.3.5 格式读/写函数 204
8.4 其他函数 206
8.4.1 文件头定位函数rewind() 206
8.4.2 文件随机定位函数fseek() 206
8.4.3 出错检测函数 208
本章小结 208
习题 208
第9章 程序调试与错误处理 212
9.1 Turbo C开发环境 212
9.1.1 Turbo C的产生与发展 212
9.1.2 Turbo C 2.0基本配置要求 212
9.1.3 Turbo C 2.0内容简介 212
9.1.4 Turb C 2.0的启动 213
9.1.5 Turbo C 2.0集成开发环境的菜单介绍 213
9.1.6 C程序的编辑 217
9.1.7 C程序的编译和连接 218
9.1.8 C程序的运行 220
9.1.9 在TC集成环境中查看运行结果 220
9.2 Visual C++6.0开发环境 220
9.2.1 Visual C++6.0工作环境 221
9.2.2 C语言程序文件的编辑、编译、连接和运行 221
9.3 编译预处理 223
9.3.1 宏定义 224
9.3.2 文件包含 226
9.3.3 条件编译 227
9.4 程序调试 229
9.4.1 程序调试的方法 229
9.4.2 C程序运行调试实例 232
本章小结 236
第10章 综合运用 237
10.1 通讯录管理系统 238
10.1.1 程序功能设计 238
10.1.2 程序的数据设计 240
10.1.3 程序的函数设计 240
10.1.4 编码与调试 244
10.1.5 整体调试 249
10.1.6 设计和使用说明 250
10.1.7 系统的改进问题 250
10.1.8 完整代码 250
10.2 吃数游戏 260
本章小结 268
习题 268
附录A 常用字符的ASCII码 269
附录B TC常见错误 270
参考文献 274