第1章 C语言概述 1
1.1 程序和程序设计 1
1.1.1 程序 1
1.1.2 程序设计 1
1.1.3 结构化程序设计方法 2
1.2 算法 3
1.2.1 算法的概念 3
1.2.2 算法的特性 3
1.2.3 算法的表示方法 3
1.3 C语言简介 6
1.3.1 C语言的发展及其特点 7
1.3.2 C程序的结构组成与书写风格 7
1.4 C程序的上机操作 11
1.4.1 C程序的执行过程 11
1.4.2 在Visual C++环境下建立和运行C程序的步骤 12
小结 16
习题 16
上机实验 17
第2章 C程序设计基础知识 18
2.1 常量和变量 18
2.1.1 常量 18
2.1.2 变量 22
2.1.3 标识符 23
2.2 C语言的基本数据类型 24
2.2.1 整型数据 24
2.2.2 实型数据 26
2.2.3 字符型数据 27
2.3 运算符与表达式 28
2.3.1 算术运算符与表达式 28
2.3.2 赋值运算符与表达式 32
2.3.3 逗号运算符与表达式 34
小结 35
习题 36
上机实验 38
第3章 顺序结构程序设计 41
3.1 C语句概述 41
3.2 赋值语句 43
3.3 字符数据的输入/输出 44
3.3.1 字符输出函数 44
3.3.2 字符输入函数 45
3.4 格式的输入/输出 45
3.4.1 格式输出函数 46
3.4.2 格式输入函数 50
3.5 顺序结构程序设计举例 52
小结 54
习题 55
上机实验 59
第4章 选择结构程序设计 61
4.1 关系运算符与关系表达式 61
4.1.1 关系运算符 61
4.1.2 关系表达式 62
4.2 逻辑运算符与逻辑表达式 63
4.2.1 逻辑运算符 63
4.2.2 逻辑表达式 64
4.3 if语句 65
4.3.1 if语句(单分支) 65
4.3.2 if…else…语句(双分支) 66
4.3.3 if…else if语句(多分支) 68
4.3.4 if语句的嵌套 70
4.4 条件运算符与条件表达式 70
4.5 switch语句 71
4.6 选择结构程序设计举例 73
小结 79
习题 80
上机实验 84
第5章 循环结构程序设计 87
5.1 while语句 87
5.2 do…while语句 89
5.3 for语句 91
5.4 循环的嵌套 94
5.5 break语句和continue语句 97
5.5.1 break语句 97
5.5.2 continue语句 98
5.6 几种循环语句的比较 99
5.7 循环结构程序设计举例 100
小结 103
习题 104
上机实验 110
第6章 数组 112
6.1 一维数组的定义与引用 112
6.1.1 一维数组的定义 112
6.1.2 一维数组的引用 113
6.1.3 一维数组的初始化 114
6.1.4 一维数组应用实例 115
6.2 二维数组的定义与引用 120
6.2.1 二维数组的定义 120
6.2.2 二维数组的引用 121
6.2.3 二维数组的初始化 121
6.2.4 二维数组应用实例 122
6.3 字符数组的定义与引用 124
6.3.1 字符数组的定义 124
6.3.2 字符数组的初始化 124
6.3.3 字符数组的引用 125
6.3.4 字符数组的输入与输出 126
6.3.5 字符串处理函数 128
6.3.6 字符数组应用实例 131
小结 134
习题 134
上机实验 142
第7章 函数 145
7.1 函数概述 145
7.2 函数的定义与调用 146
7.2.1 无参数函数 147
7.2.2 有参数函数 150
7.3 函数的声明 154
7.4 函数的嵌套调用 155
7.5 函数的递归调用 157
7.6 数组作为函数参数 161
7.7 局部变量和全局变量 166
7.8 变量的存储类别 170
7.8.1 动态存储方式与静态存储方式 170
7.8.2 局部变量存储类别 171
7.8.3 全局部变量存储类别 173
7.8.4 存储类别小结 176
7.9 内部函数和外部函数 177
小结 179
习题 180
上机实验 189
第8章 指针 194
8.1 指针概述 194
8.2 指针和指针变量 195
8.2.1 定义一个指针变量 195
8.2.2 指针变量的引用 196
8.2.3 指针变量作为函数参数 199
8.3 指针和数组 202
8.3.1 指向数组元素的指针 202
8.3.2 通过指针引用数组元素 203
8.3.3 数组名作函数参数 206
8.3.4 指向多维数组的指针和指针变量 212
8.4 指针和字符串 216
8.4.1 字符串的表示形式 216
8.4.2 使用字符串指针变量与字符数组的区别 219
8.5 指针和函数 220
8.5.1 函数指针变量 220
8.5.2 指针型函数 221
8.6 指针数组和指向指针的指针变量 223
8.6.1 指针数组 223
8.6.2 指向指针的指针变量 226
小结 228
习题 230
上机实验 238
第9章 预处理命令 241
9.1 概述 241
9.2 宏定义 241
9.2.1 无参宏定义 241
9.2.2 带参宏定义 245
9.3 文件包含 249
9.4 条件编译 251
小结 253
习题 254
第10章 结构体与共用体 257
10.1 结构体数据 257
10.1.1 结构体数据类型的定义 257
10.1.2 结构体变量的定义 258
10.1.3 结构体变量的引用 259
10.1.4 结构体变量的初始化 260
10.1.5 结构体数组 260
10.1.6 结构体指针 262
10.2 结构体指针的应用——链表 265
10.3 共用体数据类型 268
10.3.1 共用体的概念 268
10.3.2 共用体的引用 269
10.4 枚举类型 269
10.5 类型重定义typedef 271
小结 272
习题 272
上机实验 277
第11章 位运算 278
11.1 位运算符 278
11.2 位段 282
小结 284
习题 284
第12章 文件 287
12.1 文件概述 287
12.1.1 C语言操作文件 287
12.1.2 文件类型指针 288
12.2 文件的打开与关闭 288
12.2.1 文件的打开(fopen函数) 289
12.2.2 文件的关闭(fclose函数) 290
12.3 文件的读写操作 291
12.3.1 字符读写函数fgetc和fputc 291
12.3.2 字符串读写函数fgets和fputs 294
12.3.3 数据块读写函数fread和fwrite 296
12.3.4 格式化读写函数fscanf和fprintf 297
12.4 文件定位 298
12.5 文件检测函数 300
12.5.1 文件结束检测函数feof 300
12.5.2 读写文件出错检测函数ferror 300
小结 300
习题 301
上机实验 303
附录 304
附录1 常用字符与ASCII码对照表 304
附录2 C库函数 305
附录3 C语言的运算符及其结合性 310
参考文献 312