上篇 教学篇 3
第1章 C语言概述 3
1.1 C语言的发展及特点 3
1.1.1 C语言的发展 3
1.1.2 C语言的特点 4
1.2 C语言程序的基本结构 4
1.3 C语言字符集、标识符和关键字 6
1.3.1 C语言字符集 6
1.3.2 C语言标识符与关键字 6
1.4 C语言程序的开发环境 7
1.4.1 C语言开发过程 7
1.4.2 Microsoft Visual C++ 6.0集成开发环境 7
本章小结 10
习题1 10
第2章 基本数据类型与表达式 11
2.1 C语言的数据类型 11
2.1.1数据类型概述 11
2.1.2整数类型 12
2.1.3实数类型 12
2.1.4字符类型 12
2.2常量与变量 13
2.2.1常量 13
2.2.2变量 15
2.3运算符和表达式 16
2.3.1算术运算符和算术表达式 16
2.3.2赋值运算符和赋值表达式 17
2.3.3关系运算符和关系表达式 19
2.3.4逻辑运算符与逻辑表达式 20
2.3.5条件运算符、逗号运算符和求字节运算符 22
2.4运算符的优先级 23
2.5数据类型转换 23
2.5.1自动类型转换 23
2.5.2强制类型转换 24
本章小结 25
习题2 25
第3章 输入、输出语句 26
3.1 C语言基本语句 26
3.2字符数据的输入和输出 28
3.3格式化输入与输出 29
3.3.1格式化输出函数printf 29
3.3.2格式化输入函数scanf 33
3.4综合应用 35
本章小结 36
习题3 37
第4章 选择控制结构 38
4.1算法 38
4.1.1算法的概念 38
4.1.2算法的组成要素 39
4.1.3算法的描述 40
4.2 if语句 41
4.2.1单分支的if语句 41
4.2.2双分支的if语句 42
4.2.3多分支的if语句 43
4.2.4 if语句的嵌套 45
4.3条件运算符 46
4.4 switch语句 47
4.5综合应用 49
本章小结 51
习题4 52
第5章 循环控制结构 54
5.1循环结构算法 54
5.2 while语句 55
5.3 do.while语句 57
5.4 for语句 58
5.5 break语句和continue语句 60
5.5.1 break语句 60
5.5.2 continue语句 61
5.6循环结构的嵌套 62
5.7综合应用 63
本章小结 66
习题5 66
第6章 函数与宏替换 68
6.1模块化设计 68
6.2函数的定义与调用 69
6.2.1函数的定义 69
6.2.2函数的调用 70
6.2.3参数的传递 73
6.3函数的递归调用 74
6.4变量的存储类型、作用域 77
6.4.1变量的作用域 77
6.4.2变量的存储类型 80
6.5宏替换 83
6.5.1宏替换概述 83
6.5.2文件包含 86
6.6综合应用 87
本章小结 89
习题6 89
第7章 数组 91
7.1概述 91
7.2一维数组 92
7.2.1一维数组的定义 92
7.2.2一维数组的初始化 93
7.2.3一维数组的引用 93
7.2.4一维数组应用 94
7.3二维数组 98
7.3.1二维数组的定义 98
7.3.2二维数组的初始化 99
7.3.3二维数组的引用 99
7.3.4二维数组应用 101
7.4字符数组与字符串 103
7.4.1字符数组的定义与初始化 103
7.4.2字符串的概念及存储 103
7.4.3字符数组的输入输出 104
7.4.4字符串处理函数 105
7.4.5字符数组应用 108
7.5数组作为函数参数 109
7.6综合应用 112
本章小结 114
习题7 115
第8章 指针 116
8.1指针与指针变量 116
8.1.1指针的概念 116
8.1.2指针变量的定义与初始化 117
8.1.3指针运算 118
8.2指针与数组 121
8.2.1一维数组的指针表示法 121
8.2.2二维数组的指针表示法 124
8.3指针与字符串 127
8.3.1字符串的指针表示方法 127
8.3.2字符串数组与指针数组 129
8.4指针与函数 131
8.4.1指针作为函数的形参 131
8.4.2指针型函数 136
8.5指向指针的指针变量 137
8.6综合应用 138
本章小结 142
习题8 142
第9章 结构体与共用体 144
9.1结构体类型的定义 144
9.2结构体变量 145
9.2.1结构体变量的定义 145
9.2.2结构体变量的使用 147
9.2.3结构体变量的初始化 148
9.3结构体数组 149
9.3.1结构体数组的定义 149
9.3.2结构体数组的初始化 150
9.3.3结构体数组的使用 150
9.4结构体类型指针 151
9.4.1指向结构体变量的指针 151
9.4.2指向结构体数组的指针 153
9.5结构体与函数 154
9.5.1结构体变量作为函数参数 154
9.5.2结构体指针变量作为函数参数 155
9.5.3函数的返回值为结构体类型 156
9.6链表 157
9.6.1链表概述 157
9.6.2内存动态管理函数 158
9.6.3链表的基本操作 160
9.7共用体类型 165
9.7.1共用体类型与共用体变量 165
9.7.2共用体变量的使用 166
9.8综合应用 169
本章小结 172
习题9 173
第10章 文件 174
10.1文件概述 174
10.2文件的打开和关闭 175
10.2.1文件指针 175
10.2.2文件的打开 176
10.2.3文件的关闭 177
10.3文件读写函数 178
10.3.1读写文件字符函数 178
10.3.2读写文件字符串函数 180
10.3.3格式化读写 182
10.3.4块读写 183
10.4文件定位和随机读写 185
10.5文件检测函数 187
10.6综合应用 188
本章小结 191
习题10 192
下篇 学习篇 195
第11章 上机实践 195
11.1熟悉C语言程序开发环境 195
11.2 C语言基本数据类型与表达式 198
11.3 C语言输入/输出语句 199
11.4选择控制结构 200
11.5循环控制结构 203
11.6函数与宏替换 205
11.7数组 209
11.8指针 214
11.9结构体与共用体 221
11.10文件 225
第12章 练习题 228
12.1 C语言程序设计概述 228
12.2数据类型、运算符与表达式 228
12.3顺序结构 230
12.4选择结构 232
12.5循环结构 236
12.6函数与宏替换 240
12.7数组 243
12.8指针 247
12.9结构体与共用体 253
12.10文件 256
12.11综合习题 259
第13章 全国计算机等级考试二级试题汇编及参考答案 265
13.1 2008年4月全国计算机等级考试二级C语言笔试试题 265
参考答案 273
13.2 2008年9月全国计算机等级考试二级C语言笔试试题 274
参考答案 282
13.3 2009年3月全国计算机等级考试二级C语言笔试试题 283
参考答案 291
13.4 2009年9月全国计算机等级考试二级C语言笔试试题 292
参考答案 300
13.5 2010年3月全国计算机等级考试二级C语言笔试试题 301
参考答案 311
13.6 2010年9月全国计算机等级考试二级C语言笔试试题 312
参考答案 321
附录A ASCII码表 322
附录B C语言运算符优先级和结合方向 323
附录C C语言常见的出错信息 324
参考文献 328