第1章 概述 1
1.1 C语言的发展历程 2
1.1.1程序设计语言 2
1.1.2 C语言的发展 2
1.1.3 C语言的特点 3
1.2算法 3
1.2.1算法的概念 3
1.2.2算法的特性 4
1.2.3算法的描述方法 4
1.3简单的C程序 6
1.4结构化程序设计 9
1.4.1程序设计 9
1.4.2结构化程序设计方法 9
1.5 C语言程序的运行环境 11
1.5.1概述 11
1.5.2 Turbo C 2.0集成开发环境的介绍 12
本章小结 16
习题 16
第2章 数据 19
2.1数据类型 20
2.2常量 20
2.2.1整型常量 20
2.2.2实型常量 21
2.2.3字符常量 21
2.2.4字符串常量 23
2.2.5符号常量 24
2.3变量 25
2.3.1标识符 25
2.3.2变量 26
2.4运算符和表达式 27
2.4.1运算符和表达式 27
2.4.2赋值运算符 29
2.4.3算术运算符 30
2.4.4关系运算符 31
2.4.5逻辑运算符 32
2.4.6条件运算符 33
2.4.7逗号运算符 34
2.4.8运算符的优先级和结合性 34
本章小结 35
实验 35
习题 36
第3章 顺序结构的程序设计 39
3.1顺序结构的语句 40
3.1.1赋值语句 40
3.1.2空语句 41
3.1.3复合语句 41
3.2输入/输出函数 42
3.2.1格式输出函数printf() 42
3.2.2格式输入函数scanf() 45
3.3字符输入/输出函数 48
3.3.1字符输入函数getchar() 49
3.3.2字符输出函数putchar() 50
3.4程序举例 50
本章小结 51
实验 52
习题 52
第4章 选择结构的程序设计 57
4.1 if语句 58
4.1.1单分支选择结构 58
4.1.2双分支选择结构 58
4.2 if语句的嵌套 60
4.2.1嵌套的一般形式 60
4.2.2 if…else…if形式 61
4.3 switch语句 63
4.3.1 switch语句的一般形式 63
4.3.2 switch语句的嵌套 64
4.4无条件选择结构 65
4.4.1 goto语句 65
4.4.2 break语句 66
4.4.3 continue语句 66
4.5程序举例 66
本章小结 69
实验 70
习题 73
第5章 循环控制结构 79
5.1 goto语句以及用goto语句构成循环 80
5.2 while语句 81
5.3 do-while语句 83
5.4 for语句 85
5.5循环的嵌套 87
5.6 break和continue语句 88
5.6.1 break语句 88
5.6.2 continue语句 89
5.7程序举例 89
本章小结 92
实验 92
习题 95
第6章 数组 101
6.1一维数组的定义和引用 102
6.1.1一维数组的定义 102
6.1.2一维数组元素的引用 102
6.1.3一维数组的初始化 103
6.1.4一维数组的存储结构 105
6.1.5一维数组的程序举例 105
6.2二维数组的定义和引用 109
6.2.1二维数组的定义 109
6.2.2二维数组元素的引用 110
6.2.3二维数组的初始化 111
6.2.4二维数组的程序举例 112
6.3字符数组 115
6.3.1字符数组的定义及引用 115
6.3.2字符数组的初始化 115
6.3.3字符数组的输入/输出 116
6.3.4字符串处理函数 118
本章小结 120
实验 120
习题 126
第7章 函数 133
7.1函数概述 134
7.2函数的定义及使用 135
7.2.1函数的定义 135
7.2.2使用自定义函数 138
7.2.3函数定义和使用举例 139
7.3函数中变量的属性 141
7.3.1局部变量和全局变量 141
7.3.2变量的存储类型 144
7.4函数应用 145
7.4.1函数的嵌套和递归 145
7.4.2数组作为函数的参数 150
本章小结 157
实验 158
习题 159
第8章 指针 165
8.1指针的概念 166
8.1.1地址 166
8.1.2指针和指针变量 166
8.2变量的指针和指针变量 167
8.2.1指针变量的定义和初始化 167
8.2.2指针变量的赋值和引用 168
8.2.3指针变量的其他操作 170
8.2.4指针变量作为函数参数 171
8.3数组和指针 172
8.3.1一维数组的指针表示 172
8.3.2多维数组的指针表示 175
8.4字符串和指针 178
8.4.1字符串的表示形式 178
8.4.2字符串指针作函数参数 181
8.5函数和指针 182
8.5.1返回指针值的函数 182
8.5.2指向函数的指针 183
8.6指针数组和指向指针的指针 186
8.6.1指针数组 186
8.6.2指向指针的指针 188
8.6.3命令行参数 189
本章小结 191
实验 191
习题 196
第9章 结构体、共用体和枚举类型 199
9.1结构体类型 200
9.1.1结构体类型的定义 200
9.1.2结构体类型变量的定义 201
9.1.3结构体变量的初始化与运算 203
9.1.4结构体变量的引用 205
9.1.5结构体数组 206
9.1.6结构体指针变量 208
9.1.7用结构体变量和结构体指针变量做函数参数 210
9.2链表 211
9.2.1链表概述 211
9.2.2处理链表的函数 212
9.2.3建立动态链表 214
9.2.4链表的输出 216
9.2.5链表的插入操作 217
9.2.6链表的删除操作 219
9.3共用体 221
9.3.1共用体类型定义 221
9.3.2共用体变量的引用 223
9.4枚举类型 224
9.4.1枚举类型定义 224
9.4.2枚举类型变量的赋值和使用 225
9.5用typedef定义类型 227
本章小结 228
实验 229
习题 236
第10章 编译预处理 241
10.1宏定义 242
10.1.1不带参数的宏定义 242
10.1.2带参数的宏定义 244
10.2文件包含处理 247
10.3条件编译 249
本章小结 251
实验 251
习题 254
第11章 位运算 257
11.1基本运算符与位运算 258
11.1.1按位与运算符 258
11.1.2按位或运算符 259
11.1.3按位异或运算符 259
11.1.4按位取反运算符 260
11.2位移运算符与位移运算 260
11.2.1左移运算符 260
11.2.2右移运算符 261
11.3位运算的复合赋值运算符 261
本章小结 262
习题 263
第12章 文件 265
12.1文件概述 266
12.1.1文件的概念 266
12.1.2文件的分类 266
12.1.3文件的一般操作过程 267
12.1.4文件的指针 267
12.2文件的基本操作 268
12.2.1打开和关闭文件 268
12.2.2最基本的文件读/写函数 270
12.3文件的数据块读/写操作 273
12.3.1 fread函数 273
12.3.2 fwrite函数 274
12.4文件的其他操作 277
12.4.1文件的格式化读/写 277
12.4.2文件的随机读/写操作 278
12.4.3文件的字符串操作 281
本章小结 282
实验 282
习题 283
附录A ASCII表 286
附录B C语言常用库函数 288
附录C Turbo C(V2.0)编译错误信息 293
附录D Microsoft Visual C++ 6.0运行环境简介 301
参考文献 306