第1章 C语言概述 1
1.1 C语言的发展过程 1
1.2 C语言的特点 3
1.3 C 语言源程序的结构 3
1.4 C程序上机步骤 6
1.4.1 C语言程序的执行过程 6
1.4.2 使用Visual C++6.0编辑和运行程序 7
1.5 算法简介 12
1.5.1 算法的概念 12
1.5.2 算法的表示 13
本章小结 18
课后练习 18
第2章 数据类型、运算符及表达式 19
2.1 C语言的数据类型 19
2.1.1 数据和数据类型 19
2.1.2 C语言的数据类型 20
2.2 常量和变量 20
2.2.1 标识符、关键字和保留标识符 21
2.2.2 常量和符号常量 21
2.2.3 变量 22
2.3 基本数据类型 24
2.3.1 整型数据 24
2.3.2 实型数据 26
2.3.3 字符型数据 28
2.4 各类数值型数据间的混合运算 32
2.5 赋值运算符和赋值表达式 34
2.5.1 C语言运算符的分类 34
2.5.2 赋值运算符 35
2.5.3 赋值表达式 35
2.5.4 类型转换 35
2.6 算术运算符和算术表达式 37
2.6.1 算术运算符 37
2.6.2 算术表达式 37
2.6.3 自增、自减运算符 38
2.6.4 复合的赋值运算符 39
2.7 逗号运算符和逗号表达式 40
本章小结 40
课后练习 41
第3章 顺序结构程序设计 42
3.1 C 语句概述 42
3.2 C语言中输入、输出功能的实现 44
3.3 单字符输入、输出函数 45
3.3.1 putchar()函数(字符输出函数) 45
3.3.2 getchar()函数(字符输入函数) 46
3.4 printf()函数(格式化输出函数) 48
3.4.1 格式化输出函数的一般形式 48
3.4.2 格式化输出函数的格式控制符 50
3.4.3 格式化输出函数的使用说明 54
3.5 scanf()函数(格式化输入函数) 55
3.5.1 格式化输入函数的一般形式 55
3.5.2 格式化输入函数的格式控制符 56
3.5.3 格式化输入函数的使用说明 57
3.6 顺序结构程序设计举例 59
3.7 编译预处理 63
3.7.1 宏定义 63
3.7.2 文件包含 65
3.7.3 条件编译 66
本章小结 69
课后练习 69
第4章 选择结构程序设计 71
4.1 关系运算符和关系表达式 71
4.1.1 关系运算符 71
4.1.2 关系表达式 72
4.2 逻辑运算符和逻辑表达式 73
4.2.1 逻辑运算符 73
4.2.2 逻辑表达式 75
4.3 if语句 76
4.3.1 单分支if语句 76
4.3.2 双分支if语句 78
4.3.3 多分支if语句 79
4.3.4 if语句的嵌套 80
4.3.5 条件运算符和条件表达式 84
4.4 switch语句 86
4.5 选择结构程序设计举例 90
本章小结 94
课后练习 95
第5章 循环结构程序设计 96
5.1 循环概述 96
5.2 while语句 97
5.3 do while语句 99
5.4 for语句 104
5.5 三种循环的比较 108
5.6 循环语句的嵌套 111
5.7 break语句和continue语句 115
5.7.1 break语句 115
5.7.2 continue语句 117
5.8 程序应用举例 118
本章小结 124
课后练习 125
第6章 数组 126
6.1 一维数组的定义和引用 126
6.1.1 一维数组的定义 126
6.1.2 一维数组元素的引用 127
6.1.3 一维数组的初始化 129
6.1.4 一维数组应用举例 133
6.2 二维数组 136
6.2.1 二维数组的定义与使用 136
6.2.2 二维数组的初始化 137
6.2.3 二维数组应用举例 139
6.3 字符数组 141
6.3.1 字符数组的定义 142
6.3.2 字符数组的初始化 142
6.3.3 字符数组的输入与输出 144
6.3.4 字符串处理函数 149
6.3.5 字符数组的应用举例 154
本章小结 156
课后练习 157
第7章 函数 158
7.1 函数的定义与调用 159
7.1.1 函数的定义 159
7.1.2 函数的返回值与函数类型 160
7.1.3 对被调用函数的说明和函数原型 162
7.1.4 函数的调用 164
7.1.5 函数的形参与实参 164
7.2 函数的嵌套调用和递归调用 167
7.2.1 函数的嵌套调用 167
7.2.2 函数的递归调用 168
7.3 数组作为函数参数 170
7.3.1 数组元素作函数参数 170
7.3.2 数组名作为函数的形参和实参 171
7.4 局部变量与全局变量 176
7.4.1 局部变量 176
7.4.2 全局变量 177
7.5 变量的存储类别 180
7.5.1 局部变量的存储方式 181
7.5.2 全局变量的存储方式 185
7.6 内部函数和外部函数 186
7.6.1 内部函数 186
7.6.2 外部函数 186
本章小结 187
课后练习 187
第8章 指针 188
8.1 指针的概念 188
8.1.1 地址的概念 188
8.1.2 指针变量 189
8.2 指针变量的定义与应用 189
8.2.1 指针变量的定义与相关运算 189
8.2.2 指针作函数参数 192
8.3 指针与数组 195
8.3.1 通过指针访问一维数组 195
8.3.2 通过指针访问二维数组 199
8.3.3 指向数组的指针作函数参数 200
8.4 指针与字符串 202
8.4.1 字符串的表示与引用 202
8.4.2 指向字符串的指针作函数参数 203
8.5 指针数组与指向指针的指针 204
8.5.1 指针数组 204
8.5.2 指向指针的指针变量 207
8.5.3 命令行参数 207
8.6 指针与函数 209
8.6.1 返回指针值的函数 209
8.6.2 指向函数的指针 209
本章小结 210
课后练习 210
第9章 结构体及其他数据类型 211
9.1 结构体类型的声明 211
9.2 结构体变量的定义与引用 212
9.2.1 定义结构体变量 212
9.2.2 结构体变量的初始化 213
9.2.3 访问结构体成员 213
9.3 结构体数组 214
9.3.1 定义结构体数组 214
9.3.2 结构体数组的初始化 214
9.3.3 标识结构体数组的成员 215
9.3.4 结构体数组的应用 215
9.4 指向结构体的指针 216
9.4.1 结构体指针的定义与应用 217
9.4.2 通过指针访问结构体数组 218
9.4.3 结构体指针作函数参数 219
9.5 链表 220
9.5.1 链表概述 220
9.5.2 动态存储分配 221
9.5.3 链表的基本操作 222
9.6 共用体 227
9.7 枚举 229
9.8 类型定义符typedef 229
本章小结 230
课后练习 231
第10章 位运算 232
10.1 位运算符和位运算 232
10.2 应用举例 236
本章小结 237
课后练习 237
第11章 文件 238
11.1 C语言文件概述 238
11.2 文件的打开与关闭 239
11.2.1 件的打开——fopen()函数 239
11.2.2 文件的关 fclose()函数 241
11.3 文件的读写操作 241
11.3.1 fgetc()函数与fputc()函数 241
11.3.2 fwrite()函数与fread()函数 244
11.3.3 其他文件读写函数 246
11.4 位置指针与文件定位 250
11.4.1 rewind()函数 250
11.4.2 fseek()函数 250
11.5 文件检测 252
本章小结 252
课后练习 252
附录Ⅰ 《C语言程序设计教程》考试大纲 253
附录Ⅱ 常用字符与ASCⅡ码对照表 256
附录Ⅲ 关键字表 258
附录Ⅳ 运算符的优先级和结合性 259
附录V C语言常用库函数 260
参考文献 264