第1章 C语言概述 1
1.1 C语言的发展与特点 1
1.1.1 C语言的发展 1
1.1.2 C语言的特点 2
1.2 C语言的字符集与标识符 3
1.3 程序举例 4
1.4 本章小结 7
习题 8
第2章 C语言数据类型 9
2.1 数据类型 9
2.2 常量 9
2.2.1 整型常量 9
2.2.2 实型常量 10
2.2.3 字符常量 11
2.2.4 字符串常量 12
2.2.5 符号常量 13
2.3 变量 13
2.3.1 整型变量 14
2.3.2 实型变量 17
2.3.3 字符变量 18
2.3.4 变量赋初值 20
2.4 本章小结 20
习题 21
第3章 C语言的运算符与表达式 22
3.1 C运算符简介 22
3.1.1 C运算符的种类 22
3.1.2 C语言运算符的优先级及结合性 23
3.2 算术运算 24
3.2.1 算术运算符 24
3.2.2 自增、自减运算符 25
3.3 不同类型数据间的混合运算与类型转换 27
3.4 赋值运算符和赋值表达式 29
3.5 逗号运算符和逗号表达式 31
3.6 本章小结 31
习题 32
第4章 顺序结构程序设计 33
4.1 C程序中的语句 33
4.2 赋值语句 35
4.3 数据的输入/输出 36
4.3.1 字符数据的输入/输出 36
4.3.2 格式输出函数 38
4.3.3 格式输入函数 41
4.4 程序举例 46
4.5 本章小结 48
习题 48
第5章 分支结构程序设计 50
5.1 关系运算符和表达式 50
5.1.1 关系运算符及其优先次序 50
5.1.2 关系表达式 50
5.2 逻辑运算符和表达式 51
5.2.1 逻辑运算符及其优先次序 51
5.2.2 逻辑运算的值 52
5.2.3 逻辑表达式 52
5.3 if语句 53
5.3.1 if语句的三种基本形式 53
5.3.2 if语句的嵌套 57
5.3.3 条件运算符和条件表达式 59
5.4 switch语句 60
5.5 程序举例 62
5.6 本章小结 64
习题 64
第6章 循环结构程序设计 66
6.1 while语句 66
6.2 do-while语句 68
6.3 for语句 70
6.4 循环的嵌套 72
6.5 break和continue语句 74
6.5.1 break语句 74
6.5.2 continue语句 74
6.6 程序举例 76
6.7 本章小结 78
习题 78
第7章 数组 82
7.1 一维数组 82
7.1.1 一维数组的定义及初始化 83
7.1.2 一维数组元素的引用 85
7.1.3 一维数组程序举例 86
7.2 二维数组 88
7.2.1 二维数组的定义及初始化 88
7.2.2 二维数组元素的引用 90
7.2.3 二维数组程序举例 90
7.3 字符数组 91
7.3.1 字符数组的定义及初始化 91
7.3.2 字符数组的引用 92
7.3.3 字符串和字符串结束标志 92
7.3.4 字符数组的输入/输出 93
7.3.5 字符串处理函数 94
7.4 程序举例 97
7.5 本章小结 102
习题 102
第8章 函数 104
8.1 概述 104
8.2 函数定义的一般形式 105
8.3 函数参数与函数值 107
8.3.1 形参变量和实际参数 107
8.3.2 函数的返回值 108
8.4 函数的调用 109
8.4.1 函数调用的一般形式 109
8.4.2 函数调用的方式 109
8.4.3 函数调用的声明 110
8.4.4 函数的嵌套调用 111
8.4.5 函数的递归调用 113
8.5 数组作为函数参数 114
8.6 变量的作用域 119
8.6.1 局部变量 119
8.6.2 全局变量 121
8.7 变量的存储类型 122
8.7.1 变量的静态和动态存储方式 122
8.7.2 局部变量的存储类型 123
8.7.3 全局变量的存储类型 124
8.8 内部函数与外部函数 126
8.9 本章小结 126
习题 127
第9章 预处理命令 129
9.1 概述 129
9.2 宏定义#define 129
9.2.1 无参宏定义 129
9.2.2 带参宏定义 132
9.3 文件包含 134
9.4 条件编译 135
9.5 本章小结 137
习题 138
第10章 指针 140
10.1 地址和指针的基本概念 140
10.1.1 指针变量的定义与初始化 141
10.1.2 指针运算 143
10.1.3 多级指针 147
10.2 指针与函数 148
10.2.1 指针作为函数参数 148
10.2.2 指针函数 151
10.2.3 指向函数的指针 152
10.3 指针与数组 155
10.3.1 指向一维数组的指针 156
10.3.2 二维数组与多维数组的指针表示法 159
10.4 指针与字符串 164
10.4.1 字符串的指针表示法 164
10.4.2 字符串数组 167
10.5 指针数组与命令行参数 167
10.5.1 指针数组 167
10.5.2 指针数组与命令行参数 169
10.6 程序举例 171
10.7 本章小结 175
习题 176
第11章 结构体与共用体 178
11.1 定义一个结构的一般形式 178
11.2 结构类型变量的说明 178
11.3 结构变量成员的表示方法 181
11.4 结构变量的赋值 181
11.5 结构变量的初始化 182
11.6 结构数组的定义 182
11.7 结构指针变量的说明和使用 185
11.7.1 指向结构变量的指针 185
11.7.2 指向结构数组的指针 187
11.7.3 结构指针变量作为函数参数 188
11.8 动态存储分配 189
11.9 链表的概念 191
11.10 枚举类型 193
11.10.1 枚举类型的定义和枚举变量的说明 193
11.10.2 枚举类型变量的赋值和使用 194
11.11 类型定义符typedef 195
11.12 本章小结 196
习题 197
第12章 文件 199
12.1 C文件概述 199
12.2 文件指针 199
12.3 文件的打开与关闭 200
12.3.1 文件的打开(fopen函数) 200
12.3.2 文件关闭函数(fclose函数) 202
12.4 文件的读写 202
12.4.1 字符读写函数fgetc和fputc 202
12.4.2 字符串读写函数fgets和fputs 205
12.4.3 数据块读写函数fread和fwtrite 207
12.4.4 格式化读写函数fscanf和fprintf 208
12.5 文件的随机读写 209
12.5.1 文件定位 210
12.5.2 文件的随机读写 210
12.6 文件检测函数 211
12.6.1 文件结束检测函数feof 211
12.6.2 读写文件出错检测函数ferror 211
12.6.3 文件出错标志和文件结束标志置0函数clearerr 211
12.7 本章小结 212
习题 212
第13章 位运算 213
13.1 位运算符 213
13.1.1 按位与运算 213
13.1.2 按位或运算 214
13.1.3 按位异或运算 214
13.1.4 按位取反运算 215
13.1.5 左移运算 215
13.1.6 右移运算 215
13.2 位域(位段) 216
13.3 本章小结 219
习题 219
附录A C语言上机实验及作业 220
附录B 全国计算机二级考试公共基础知识要点 260
附录C C语言库函数 288
附录D 字符的ASCII码表 293
参考文献 294