第1章 C语言概述 1
1.1 C语言的诞生与发展 1
1.2 C语言的特点 2
1.3 C程序的基本结构 3
1.4 建立与运行C程序的过程 8
1.5 用Turbo C运行C程序的上机步骤 9
1.6 小结 13
1.7 习题 14
第2章 数据类型 15
2.1 常量 15
2.1.1 字面常量 15
2.1.2 符号常量 18
2.2 变量 19
2.2.1 变量的定义 19
2.2.2 变量的初始化 24
2.3 小结 24
2.4 习题 24
第3章 运算符、表达式和语句 27
3.1 运算符和表达式 27
3.1.1 赋值运算符和赋值表达式 28
3.1.2 算术运算符和算术表达式 29
3.1.3 逗号运算符和逗号表达式 34
3.1.4 求字节数运算符和负值运算符 35
3.2 语句 36
3.2.1 空白对语句的影响 36
3.2.2 表达式语句 36
3.2.3 复合语句 37
3.3 小结 38
3.4 习题 38
第4章 数据的输入与输出 41
4.1 格式输出函数printf()和格式输入函数scanf() 41
4.1.1 printf()函数 41
4.1.2 scanf()函数 48
4.2 字符输出函数putchar()和字符输入函数getchar() 52
4.2.1 putchar()函数 52
4.2.2 getchar()函数 53
4.3 小结 54
4.4 习题 54
第5章 顺序结构程序设计 57
5.1 程序设计 57
5.1.1 算法 58
5.1.2 结构化程序设计 60
5.2 类型转换 63
5.2.1 自动类型转换 63
5.2.2 强制类型转换 66
5.3 顺序结构程序举例 68
5.4 小结 70
5.5 习题 71
第6章 选择程序结构设计 73
6.1 关系运算符和关系表达式 73
6.2 逻辑运算符和逻辑表达式 75
6.3 if语句 77
6.3.1 if语句的3种形式 77
6.3.2 选择语句的嵌套 82
6.3.3 条件运算符和条件表达式 85
6.4 switch语句 87
6.5 程序举例 91
6.6 小结 94
6.7 习题 94
第7章 循环结构程序设计 97
7.1 while语句 97
7.2 for语句 100
7.3 do-while语句 104
7.4 循环的嵌套 106
7.5 循环的辅助语句 110
7.6 goto语句 114
7.7 两种常用的算法 116
7.8 程序举例 118
7.9 小结 120
7.10 习题 121
第8章 数组 123
8.1 数组的定义和引用 123
8.1.1 数组的定义 123
8.1.2 数组的引用 124
8.2 数组元素在内存中的存储方法 126
8.3 数组的初始化 127
8.3.1 一维数组的初始化 127
8.3.2 二维数组的初始化 128
8.4 数组应用举例 129
8.5 字符数组 135
8.5.1 字符数组的定义和初始化 135
8.5.2 字符数组的引用 136
8.5.3 字符串 137
8.5.4 字符数组的输入和输出 138
8.5.5 字符串处理函数 140
8.5.6 应用举例 142
8.6 小结 144
8.7 习题 144
第9章 指针 147
9.1 地址和指针 147
9.2 指针的运算 148
9.2.1 指针的定义 148
9.2.2 使指针指向对象的方法 149
9.2.3 取地址运算符和访问地址运算符 150
9.2.4 指针的引用 151
9.2.5 指针的运算 152
9.3 指针和数组 154
9.3.1 指针与一维数组 154
9.3.2 指针与二维数组 156
9.4 指针和字符串 160
9.5 指针数组和二级指针 164
9.5.1 指针数组 164
9.5.2 二级指针 166
9.6 小结 168
9.7 习题 168
第10章 函数 171
10.1 概述 171
10.2 函数的定义 172
10.3 函数的调用 173
10.3.1 函数调用的定义和声明 173
10.3.2 函数的返回 177
10.4 变量作用域 179
10.4.1 局部变量 179
10.4.2 全局变量 180
10.5 变量的存储类型 182
10.6 函数间数据传递方式 190
10.6.1 函数间的参数传递 190
10.6.2 函数返回值 195
10.6.3 全局变量 197
10.7 函数的嵌套调用 198
10.8 函数的递归调用 200
10.9 函数指针和函数指针数组 204
10.9.1 函数指针 204
10.9.2 函数指针数组 208
10.10 main()函数的参数和返回值 209
10.11 内部函数和外部函数 211
10.12 小结 212
10.13 习题 212
第11章 预处理 215
11.1 宏定义 215
11.1.1 不带参数的宏定义 215
11.1.2 带参数的宏定义 218
11.2 文件包含 220
11.3 条件编译 222
11.4 小结 226
11.5 习题 227
第12章 结构体与共用体 229
12.1 结构体类型的声明 229
12.2 结构体类型的变量 230
12.2.1 结构体类型变量的定义 230
12.2.2 结构体类型变量的初始化 233
12.2.3 结构体类型变量的引用 234
12.3 结构体数组 235
12.4 指向结构体变量和结构体数组的指针 239
12.5 结构体与函数 242
12.5.1 结构体在函数间的传递 242
12.5.2 结构体类型函数或结构指针型函数 246
12.6 链表 248
12.6.1 链表的基本知识 248
12.6.2 动态存储分配函数 249
12.6.3 链表的操作 250
12.7 共用体 257
12.7.1 共用体类型的声明 257
12.7.2 共用体类型的变量 258
12.7.3 程序举例 260
12.8 枚举类型 262
12.9 用typedef定义类型 265
12.10 小结 267
12.11 习题 268
第13章 位运算 271
13.1 二进制数、位和字节 271
13.2 位运算符和位运算 272
13.3 程序举例 276
13.4 位段 277
13.5 小结 279
13.6 习题 279
第14章 文件 281
14.1 文件概述 281
14.2 文件类型指针 282
14.3 文件的打开与关闭 283
14.3.1 文件的打开 283
14.3.2 文件的关闭 285
14.4 文件读写函数 285
14.4.1 字符读写函数 286
14.4.2 字符串读写函数 288
14.4.3 格式化读写函数 290
14.4.4 数据块读写函数 290
14.5 文件检测函数 292
14.6 文件的定位 294
14.7 文件管理函数 297
14.8 小结 298
14.9 习题 298
附录 常用资料 301
F.1 ASCII码 301
F.2 C运算的优先级和结合性 302
F.3 常用的C语言库函数 303