第1章 程序设计与C程序 1
1.1 C语言的产生过程及特点 1
1.1.1 C语言的产生过程 1
1.1.2 C语言的特点 2
1.2 程序与程序设计 3
1.2.1 C程序与C程序格式 3
1.2.2 程序设计的概念 5
1.3 算法 7
1.3.1 算法的含义 7
1.3.2 算法的构成要素 7
1.4 结构化程序设计和模块化结构 8
1.4.1 结构化程序 8
1.4.2 模块化结构 9
1.4.3 C程序的调试 10
1.5 C语言的元素及其构成 11
1.5.1 字符集 11
1.5.2 标识符 12
1.5.3 运算符 13
1.5.4 常量 14
1.5.5 变量 14
1.5.6 注释符 14
1.6 小结 14
1.7 试验 15
1.8 习题 15
第2章 数据类型与基本操作 16
2.1 数据类型概述 16
2.2 常量 17
2.2.1 整型常量 17
2.2.2 实型常量 19
2.2.3 字符常量 19
2.2.4 字符串常量 21
2.2.5 符号常量 21
2.3.1 整型变量 22
2.3 变量 22
2.3.2 实型变量 26
2.3.3 字符变量 31
2.3.4 变量的初始化 33
2.4 表达式 34
2.4.1 表达式的概念 34
2.4.2 算术运算符与表达式 35
2.4.3 关系运算符与表达式 37
2.4.4 逻辑运算符与表达式 39
2.4.5 赋值运算符与赋值表达式 42
2.4.6 逗号运算符与逗号表达式 47
2.5 数据的类型转换 48
2.5.1 自动转换 48
2.5.2 强制转换 49
2.6 小结 50
2.8 习题 51
2.7 试验 51
第3章 顺序结构程序设计 54
3.1 函数概述 54
3.1.1 函数 54
3.1.2 标准函数的调用 54
3.2 数据输出函数printf 55
3.2.1 printf函数的调用形式 55
3.2.2 printf函数的简单用法 55
3.2.3 printf函数的带格式输出 58
3.3 数据输入函数scanf 65
3.3.1 scanf函数的调用形式 65
3.3.2 scanf函数中常用的格式说明 66
3.3.3 scanf函数与输入缓冲区 70
3.4 getchar函数与putchar函数 71
3.4.1 字符输入函数getchar 71
3.5 基本语句 72
3.5.1 表达式语句 72
3.4.2 字符输出函数putchar 72
3.5.2 复合语句 73
3.6 应用举例 74
3.7 小结 76
3.8 试验 77
3.9 习题 77
第4章 选择结构程序设计 79
4.1 条件语句 79
4.1.1 if语句 79
4.1.2 嵌套的if语句 82
4.2 条件表达式构成的选择结构 86
4.2.1 条件运算符 86
4.2.2 条件表达式的运算功能 86
4.2.3 条件运算符的优先级 86
4.3.1 switch语句的一般形式 87
4.3 switch语句与多路选择 87
4.3.2 switch语句的执行过程 88
4.3.3 在switch语句体中使用break语句 89
4.4 语句标号和goto语句 90
4.4.1 语句标号 90
4.4.2 goto语句 90
4.5 应用举例 90
4.6 小结 92
4.8 习题 93
4.7 试验 93
第5章 循环结构程序设计 95
5.1 while语句构成的循环结构 95
5.1.1 while语句的一般形式 95
5.1.2 while语句的特点 98
5.2 do-while语句构成的循环结构 99
5.2.1 do-while语句的一般形式 99
5.2.2 关于do-while循环的说明 100
5.3.1 for语句的一般形式 101
5.3 for语句构成的循环结构 101
5.3.2 有关for语句的说明 102
5.4 循环结构的嵌套 105
5.5 循环辅助控制语句 107
5.5.1 goto语句 107
5.5.2 break语句 108
5.5.3 continue语句 109
5.6 应用举例 110
5.8 试验 114
5.7 小结 114
5.9 习题 115
第6章 数组 117
6.1 一维数组 117
6.1.1 一维数组的定义 117
6.1.2 数组元素与数组的下标 118
6.1.3 一维数组的初始化与赋值 119
6.1.4 数组元素的引用 122
6.2.1 二维数组和多维数组的定义 124
6.2 二维数组 124
6.2.2 二维数组与多维数组元素的引用 126
6.2.3 二维数组与多维数组的初始化 127
6.2.4 应用举例 130
6.3 字符数组与字符串 133
6.3.1 字符串与字符串的存储 134
6.3.2 字符数组的初始化 135
6.3.3 给一维字符数组赋字符串值 136
6.3.4 字符串的输入输出函数 137
6.3.5 字符串运算函数 140
6.3.6 二维字符数组 144
6.3.7 应用举例 146
6.4 小结 149
6.5 试验 149
6.6 习题 149
7.2 函数定义的一般形式 151
7.1.1 函数 151
7.1.2 函数的分类 151
第7章 函数结构程序设计 151
7.1 函数的概念 151
7.3 函数的调用 153
7.3.1 函数的两种调用方式 153
7.3.2 函数调用时的语法要求 153
7.4 函数的说明 154
7.4.1 函数说明的形式 154
7.4.2 函数说明的位置 154
7.5 函数参数的传送方式 154
7.5.1 形式参数与实在参数 154
7.5.2 参数的传值传送方式 154
7.5.3 参数的传址传送方式 155
7.6 函数的返回值 156
7.6.1 使用return语句传送返回值 156
7.6.2 使用地址参数传送返回值 157
7.7.1 数组元素作为参数 158
7.7 数组作为函数参数 158
7.7.2 数组名作为参数 159
7.8 字符串作为函数参数 161
7.9 局部变量与全局变量 162
7.9.1 局部变量 162
7.9.2 全局变量 164
7.10 变量的存储类型及其生存期与作用域 165
7.10.1 变量的存储类型 165
7.10.2 局部变量的生存期与作用域 165
7.10.3 全局变量的生存期与作用域 167
7.11 编译预处理 170
7.11.1 宏替换 170
7.11.2 宏包含 174
7.11.3 条件编译 175
7.12 小结 176
7.13 习题 176
8.1 运算、*运算及sizeof运算 178
第8章 指针 178
8.2 指针变量的定义和引用 179
8.2.1 指针变量的定义 179
8.2.2 指针变量的初始化与赋值 179
8.2.3 指针变量的引用 180
8.3 指针与函数参数 181
8.4 指针与数组 183
8.4.1 一维数组的指针表示方法 183
8.4.2 二维数组的指针表示方法 184
8.4.3 数组指针作为函数参数 186
8.5 指针与字符串 188
8.5.1 字符串的存储形式 188
8.5.2 字符串的另一种说明形式 188
8.6 指针数组 190
8.7 指针与函数 192
8.7.1 指针函数 192
8.7.2 函数指针 193
8.8 指向指针的指针 195
8.9.1 命令行参数的意义 196
8.9 命令行参数 196
8.9.2 使用命令行参数的方法 197
8.10 小结 198
8.11 试验 199
8.12 习题 199
9.1 结构体类型 202
9.1.1 结构体类型变量的定义 202
第9章 结构体、共用体与枚举数据类型 202
9.1.2 结构体变量的初始化 203
9.1.3 结构体变量的引用 204
9.1.4 结构体变量的输入和输出 205
9.2 结构体数组 205
9.2.1 结构体数组的定义方法 205
9.2.2 结构体数组的初始化 206
9.2.3 结构体数组的引用 207
9.3.1 结构体变量作为函数参数 208
9.3 结构体与函数 208
9.3.2 返回结构体类型值的函数 210
9.4 结构体与指针 211
9.4.1 指向结构体变量的指针 211
9.4.2 指向结构体数组的指针 212
9.4.3 指向结构体变量的指针作为函数参数 213
9.5 结构体与链表 213
9.5.1 动态存储分配和链表的概念 213
9.5.2 用于动态存储分配的函数 214
9.5.3 用包含指针项的结构体变量构成结点 214
9.5.4 应用举例 215
9.6 共用体类型 217
9.6.1 共用体的概念 217
9.6.2 共用体变量的定义和应用 217
9.6.3 应用举例 218
9.7.2 枚举类型变量的定义和应用 219
9.7.1 枚举类型的概念 219
9.7 枚举类型 219
9.7.3 应用举例 220
9.8 用typedef定义新类型名 221
9.9 小结 221
9.10 试验 222
9.11 习题 223
第10章 位运算 224
10.1 位运算概念 224
10.2 位运算符的运算功能 224
10.2.1 按位与运算符 224
10.2.2 按位或运算符 224
10.2.3 按位异或运算符 224
10.2.4 按位求反运算 225
10.2.5 左移运算符 225
10.2.6 右移运算符 225
10.3.1 位段的概念和定义方法 226
10.3.2 位段的引用方法 226
10.3 位段 226
10.4 应用举例 227
10.5 小结 227
10.6 试验 228
10.7 习题 228
第11章 文件 230
11.1 文件的概念 230
11.2 缓冲文件系统和非缓冲文件系统 231
11.3 文件(FILE)类型指针 233
11.4 文件的打开与关闭 234
11.4.1 文件的打开 234
11.4.2 文件的关闭 236
11.5 文件的读写 237
11.5.1 输入和输出一个字符 237
11.5.2 字符串读写函数 243
11.5.3 格式化读写函数 246
11.5.4 按“记录”的方式输入和输出 248
11.6 文件的定位与随机读写 252
11.6.1 文件的定位 252
11.6.2 随机读写 253
11.7 文件操作的出错检测 257
11.7.1 ferror函数 257
11.7.2 clearerr函数 258
11.8 小结 258
11.9 试验 258
11.10 习题 259
第12章 Turbo C系统简介 260
12.1 怎样使用TC 260
12.2 Turbo C集成开发环境的菜单命令 261
附录 269
附录一:ASCII字符编码表 269
附录二:运算符的优先级别和结合方向 269
附录三:库函数 270
参考文献 277