第一部分 基础知识 1
第1章 C语言及程序设计基本知识 1
1.1 程序设计基本概念 1
1.1.1 程序 1
1.1.2 程序设计 1
1.1.3 程序设计语言 1
1.2 算法 2
1.2.1 算法的概念 2
1.2.2 算法的特征 2
1.2.3 算法的描述 3
1.3 结构化程序 3
1.3.1 程序的三种基本结构 3
1.3.2 模块化结构 4
1.4 C语言的发展及特点 4
1.5 C语言程序的构成及格式 5
1.6 C语言程序的编辑与运行 6
1.7 本章考点 6
1.8 典型试题详解 6
1.9 同步训练 7
第2章 数据与运算 10
2.1 常量与变量 10
2.1.1 常量 10
2.1.2 变量 10
2.2 数据类型 11
2.2.1 整型数据 11
2.2.2 实型数据 12
2.2.3 字符型数据 13
2.3 运算符和表达式 15
2.3.1 算术运算符和算术表达式 15
2.3.2 赋值运算符和赋值表达式 16
2.3.3 逗号运算符和逗号表达式 18
2.4 本章考点 18
2.5 典型试题详解 18
2.6 同步训练 20
第3章 顺序结构程序设计 23
3.1 赋值语句 23
3.2 输入输出函数 23
3.2.1 字符数据输入输出函数 23
3.2.2 格式化输入输出函数 24
3.3 注释 27
3.4 应用举例 28
3.5 本章考点 30
3.6 典型试题详解 30
3.7 同步训练 31
第4章 选择结构程序设计 35
4.1 关系表达式和逻辑表达式 35
4.1.1 关系表达式 35
4.1.2 逻辑表达式 36
4.2 if语句 37
4.2.1 简单if语句 37
4.2.2 嵌套if语句 38
4.3 条件表达式 39
4.4 复合语句与空语句 40
4.4.1 复合语句 40
4.4.2 空语句 40
4.5 开关语句 40
4.6 应用举例 42
4.7 本章考点 45
4.8 典型试题详解 46
4.9 同步训练 48
第5章 循环结构程序设计 53
5.1 循环语句 53
5.1.1 用if...goto语句实现循环 53
5.1.2 while语句 55
5.1.3 do...while语句 56
5.1.4 for语句 57
5.2 多重循环 58
5.3 break和continue语句 61
5.3.1 break语句 61
5.3.2 continue语句 62
5.4 应用举例 64
5.5 本章考点 69
5.6 典型试题详解 69
5.7 同步训练 71
第6章 函数 77
6.1 函数的定义和调用 78
6.1.1 函数定义 78
6.1.2 函数调用 79
6.1.3 函数声明 80
6.2 函数的嵌套调用和递归调用 82
6.2.1 函数的嵌套调用 82
6.2.2 函数的递归调用 83
6.3 变量的作用域及存储类别 84
6.3.1 局部变量与全局变量 84
6.3.2 动态变量与静态变量 87
6.4 内部函数与外部函数 91
6.5 本章考点 92
6.6 典型试题详解 92
6.7 同步训练 95
第7章 数组 101
7.1 一维数组 101
7.1.1 一维数组的定义与引用 101
7.1.2 一维数组初始化 102
7.1.3 应用举例 102
7.2 二维数组 106
7.2.1 二维数组的定义与引用 106
7.2.2 二维数组初始化 107
7.2.3 应用举例 107
7.3 字符数组 110
7.3.1 字符数组的定义、引用与初始化 110
7.3.2 字符串与字符数组 111
7.3.3 字符串函数 112
7.3.4 应用举例 114
7.4 本章考点 115
7.5 典型试题详解 115
7.6 同步训练 118
第8章 指针 121
8.1 指针与指针变量 121
8.1.1 指针的概念 121
8.1.2 指针变量 122
8.1.3 指针变量的运算 122
8.2 指针与数组 126
8.2.1 指针与一维数组 126
8.2.2 指针与二维数组 132
8.2.3 指针数组 137
8.2.4 指针与字符串 138
8.3 指针与函数 142
8.3.1 指针作函数参数 142
8.3.2 指针函数 145
8.3.3 函数指针 145
8.4 指向指针的指针 146
8.5 命令行参数 148
8.6 本章考点 150
8.7 典型试题详解 150
8.8 同步训练 154
第9章 结构体与共用体 158
9.1 结构体 158
9.1.1 结构体类型的定义 158
9.1.2 结构体变量的定义 159
9.1.3 结构体变量的引用 160
9.1.4 结构体变量的初始化 161
9.2 结构体数组 162
9.2.1 结构体数组的定义 162
9.2.2 结构体数组元素的引用 163
9.2.3 结构体数组的初始化 164
9.2.4 应用举例 164
9.3 结构体指针 165
9.3.1 结构体指针变量的定义 165
9.3.2 引用指针所指向的结构体变量的成员 165
9.3.3 指向结构体数组的指针 166
9.4 结构体与函数 167
9.5 链表 168
9.5.1 链表的概念 169
9.5.2 动态分配函数 170
9.5.3 链表的基本操作 171
9.6 共用体 177
9.6.1 共用体类型的定义 177
9.6.2 共用体变量的定义 178
9.6.3 共用体变量的引用 179
9.7 枚举 180
9.7.1 枚举类型的定义 180
9.7.2 枚举变量的定义 181
9.7.3 枚举变量的应用 182
9.8 自定义类型 183
9.9 本章考点 184
9.10 典型试题详解 184
9.11 同步训练 187
第10章 编译预处理与位运算 197
10.1 编译预处理 197
10.1.1 宏定义 197
10.1.2 文件包含 199
10.2 位运算 199
10.3 本章考点 201
10.4 典型试题详解 201
10.5 同步训练 203
第11章 文件 206
11.1 文件的基本概念 206
11.2 文件的基本操作 208
11.2.1 文件的打开与关闭 208
11.2.2 文件的读写 209
11.2.3 文件的定位 215
11.3 本章考点 216
11.4 典型试题详解 216
11.5 同步训练 218
第二部分 实验指导 223
预备知识 223
实验一 运行一个C程序的方法 230
实验二 数据与运算 231
实验三 顺序结构程序设计 233
实验四 选择结构程序设计 235
实验五 循环结构程序设计 237
实验六 函数 240
实验七 数组 242
实验八 指针 244
实验九 结构体与共用体 246
实验十 编译预处理与位运算 249
实验十一 文件 250
第三部分 模拟试题 252
模拟试题一 252
模拟试题二 261
模拟试题三 269
模拟试题四 278
第四部分 笔试试题及参考答案 278
2006年9月全国计算机等级考试二级C语言笔试试题及参考答案 287
2007年4月全国计算机等级考试二级C语言笔试试题及参考答案 301
第五部分 附录 315
附录A 全国计算机等级考试二级C语言考试大纲 315
附录B C语言运算符及优先级、结合律 319
附录C 常用字符与ASCII代码对照表 320
附录D Turbo C 2.0常用库函数 321