第1章C语言概述 1
1.1C语言的发展与特点 1
1.1.1C语言的发展 1
1.1.2C语言的特点 2
1.2程序设计的基本概念 4
1.2.1程序 4
1.2.2程序设计 4
1.2.3算法 6
1.2.4数据结构 6
1.3C语言的字符集与标识符 7
1.4程序举例 8
1.5本章小结 12
习题 13
第2章数据类型 14
2.1C语言的数据类型 14
2.2常量 15
2.2.1整型常量 15
2.2.2实型常量 16
2.2.3字符常量 17
2.2.4字符串常量 18
2.2.5符号常量 19
2.3变量 20
2.3.1整型变量 20
2.3.2实型变量 23
2.3.3字符变量 24
2.3.4变量赋初值 26
2.4数据间的混合运算与类型转换 27
2.5本章小结 28
习题 29
第3章C语言的运算符与表达式 31
3.1C运算符简介 31
3.1.1C运算符的种类 31
3.1.2算术运算符和算术表达式 32
3.2赋值运算符和赋值表达式 34
3.3逗号运算符和逗号表达式 36
3.4本章小结 37
习题 37
第4章顺序结构程序设计 39
4.1C程序中的语句 39
4.2赋值语句 41
4.3数据的输入输出 42
4.3.1字符数据的输入输出 43
4.3.2格式输出函数 45
4.3.3格式输入函数 48
4.4程序举例 53
4.5本章小结 55
习题 55
第5章分支结构程序设计 58
5.1关系运算符和表达式 58
5.1.1关系运算符及其优先次序 58
5.1.2关系表达式 58
5.2逻辑运算符和表达式 59
5.2.1逻辑运算符及其优先次序 59
5.2.2逻辑运算的值 60
5.2.3逻辑表达式 60
5.3if语句 61
5.3.1if语句的三种形式 61
5.3.2if语句的嵌套 64
5.3.3条件运算符和条件表达式 66
5.3.4switch语句 67
5.4程序举例 69
5.5本章小结 70
习题 71
第6章循环结构程序设计 72
6.1while语句 72
6.2do-while语句 74
6.3for语句 75
6.4循环的嵌套 77
6.5几种循环的比较 78
6.6break和continue语句 78
6.6.1break语句 78
6.6.2continue语句 79
6.7程序举例 80
6.8本章小结 82
习题 83
第7章数组 87
7.1一维数组 87
7.1.1一维数组的定义及初始化 87
7.1.2一维数组元素的引用 89
7.1.3一维数组程序举例 91
7.2二维数组的定义和引用 92
7.2.1二维数组的定义及初始化 92
7.2.2二维数组元素的引用 95
7.2.3二维数组程序举例 95
7.3字符数组 96
7.3.1字符数组的定义及初始化 96
7.3.2字符数组的引用 97
7.3.3字符串和字符串结束标志 98
7.3.4字符数组的输入输出 98
7.3.5字符串处理函数 100
7.4程序举例 103
7.5本章小结 108
习题 108
第8章函数 110
8.1概述 110
8.2函数定义的一般形式 111
8.3函数参数与函数值 113
8.3.1形式参数和实际参数 113
8.3.2函数的返回值 115
8.4函数的调用 115
8.4.1函数调用的一般形式 115
8.4.2函数调用的方式 116
8.4.3函数调用的声明 117
8.4.4函数的嵌套调用 118
8.4.5函数的递归调用 118
8.5数组作为函数参数 122
8.6变量的作用域 127
8.6.1局部变量 127
8.6.2全局变量 129
8.7变量的存储类型 131
8.7.1变量的动态与静态存储方式 131
8.7.2局部变量的存储类型 131
8.7.3全局变量的存储类型 133
8.8内部函数与外部函数 135
8.9本章小结 136
习题 136
第9章预处理命令 139
9.1概述 139
9.2宏定义 139
9.2.1无参宏定义 139
9.2.2带参宏定义 143
9.3文件包含 148
9.4条件编译 148
9.5本章小结 151
习题 151
第10章指针 154
10.1地址指针的基本概念 154
10.2变量的指针和指向变量的指针变量 155
10.2.1定义一个指针变量 155
10.2.2指针变量的引用 156
10.2.3指针变量作为函数参数 159
10.2.4指针变量几个问题的进一步说明 162
10.3数组指针和指向数组的指针变量 165
10.3.1指向数组元素的指针 166
10.3.2通过指针引用数组元素 167
10.3.3数组名作函数参数 170
10.3.4指向多维数组的指针和指针变量 176
10.4字符串的指针指向字符串的指针变量 179
10.4.1字符串的表示形式 179
10.4.2字符串指针变量与字符数组的区别 182
10.5函数指针变量 183
10.6指针型函数 185
10.7指针数组和指向指针的指针 186
10.7.1指针数组的概念 186
10.7.2指向指针的指针 190
10.7.3main函数的参数 192
10.8有关指针的数据类型和指针运算的小结 193
10.8.1有关指针的数据类型的小结 193
10.8.2指针运算的小结 193
10.8.3void指针类型 194
10.9本章小结 194
习题 195
第11章结构体与共用体 197
11.1定义一个结构的一般形式 197
11.2结构类型变量的说明 198
11.3结构变量成员的表示方法 200
11.4结构变量的赋值 200
11.5结构变量的初始化 201
11.6结构数组的定义 202
11.7结构指针变量的说明和使用 205
11.7.1指向结构变量的指针 205
11.7.2指向结构数组的指针 207
11.7.3结构指针变量作为函数参数 208
11.8动态存储分配 209
11.9链表的概念 211
11.10枚举类型 213
11.10.1枚举类型的定义和枚举变量的说明 213
11.10.2枚举类型变量的赋值和使用 214
11.11类型定义符typedef 216
11.12本章小结 217
习题 217
第12章文件 220
12.1C文件概述 220
12.2文件指针 221
12.3文件的打开与关闭 221
12.3.1文件的打开(fopen函数) 221
12.3.2文件关闭函数(fclose函数) 223
12.4文件的读写 223
12.4.1字符读写函数fgetc和fputc 224
12.4.2字符串读写函数fgets和fputs 227
12.4.3数据块读写函数fread和fwrite 229
12.4.4格式化读写函数fscanf和fprintf 231
12.5文件的随机读写 232
12.5.1文件定位 232
12.5.2文件的随机读写 233
12.6文件检测函数 234
12.6.1文件结束检测函数feof函数 234
12.6.2读写文件出错检测函数 234
12.6.3文件出错标志和文件结束标志置0函数 234
12.7本章小结 235
习题 235
第13章位运算 236
13.1位运算符 236
13.1.1按位与运算 236
13.1.2按位或运算 237
13.1.3按位异或运算 237
13.1.4求反运算 238
13.1.5左移运算 238
13.1.6右移运算 238
13.2位域(位段) 239
13.3本章小结 242
习题 242
附录A 244
实验一C语言的运行环境和运行过程 244
实验二C语言的基础知识 250
实验三 简单的C程序设计 253
实验四 选择结构程序设计 254
实验五 循环结构程序设计 258
实验六 一维数组 262
实验七 二维数组 265
实验八 函数 267
实验九 文件 272
实验十 综合练习 274
模拟试题一 274
模拟试题二 277
模拟试题三 281
2008年9月全国计算机等级考试二级C试卷 284
2008年9月全国计算机等级考试二级C试卷参考答案 293
附录B字符的ASCII码表 295
参考文献 298