第1章 应试指南 1
1.1二级C语言考试大纲(最新版) 1
1.1.1公共基础知识 1
1.1.2 C语言程序设计 2
1.2笔试方法和技巧 3
1.3机试方法和技巧 5
第2章 数据结构与算法 7
2.1算法的基本概念 7
2.1.1考点1:算法的定义 7
2.1.2考点2:算法复杂度 7
2.2数据结构的定义 8
2.2.1考点1:什么是数据结构 8
2.2.2考点2:数据结构的图形表示 9
2.3线性表 10
2.3.1考点1:线性表 10
2.3.2考点2:线性表的顺序存储结构 10
2.3.3考点3:线性表的插入和删除操作 10
2.4栈 11
2.4.1考点1:什么是栈 11
2.4.2考点2:栈的顺序存储结构 11
2.4.3考点3:栈的插入和删除运算 11
2.5队列 12
2.5.1考点1:什么是队列 12
2.5.2考点2:队列的顺序存储结构 12
2.5.3考点3:队列的插入和删除运算 12
2.6线性单链表、双向链表与循环链表 13
2.6.1考点1:线性单链表 13
2.6.2考点2:循环链表 13
2.6.3考点3:双向链表 13
2.6.4考点4:链表的基本操作 14
2.7树 14
2.7.1考点1:树的定义 14
2.7.2考点2:二叉树的定义 15
2.7.3考点3:二叉树的顺序存储结构 16
2.7.4考点4:二叉树的链式存储结构 16
2.7.5考点5:二叉树的遍历 16
2.8查找算法 17
2.8.1考点1:顺序查找 17
2.8.2考点2:二分查找 17
2.9排序算法 18
2.9.1考点1:排序概述 18
2.9.2考点2:插入类排序 18
2.9.3考点3:交换类排序 19
2.9.4考点4:选择类排序 19
2.10小结 20
2.11同步训练 20
2.11.1选择题 20
2.11.2填空题 21
2.12同步训练答案 22
2.12.1选择题 22
2.12.2填空题 22
第3章 程序设计基础 23
3.1程序设计 23
3.1.1考点1:程序设计的方法 23
3.1.2考点2:程序设计的风格 23
3.2结构化程序设计 25
3.2.1考点1:结构化程序设计的提出 25
3.2.2考点2:结构化程序设计的基本特征 25
3.2.3考点3:结构化程序设计的3种基本结构 25
3.2.4考点4:结构化程序设计方法 27
3.2.5考点5:结构化程序设计方法的原则 27
3.3面向对象程序设计 28
3.3.1考点1:面向对象程序设计方法的提出 28
3.3.2考点2:面向对象程序设计方法的基本概念 28
3.3.3考点3:面向对象程序设计的基本思想和方法 29
3.4小结 30
3.5同步训练 30
3.5.1选择题 30
3.5.2填空题 31
3.6同步训练答案 31
3.6.1选择题 31
3.6.2填空题 31
第4章 软件工程基础 32
4.1软件工程的基本概念 32
4.1.1考点1:软件与软件工程概述 32
4.1.2考点2:软件生命周期 33
4.1.3考点3:软件工具与软件开发环境 33
4.2结构化分析方法 33
4.2.1考点1:结构化分析方法概述 34
4.2.2考点2:数据流图 34
4.2.3考点3:数据字典 36
4.2.4考点4:软件需求规格说明书 36
4.3软件设计 37
4.3.1考点1:概要设计 37
4.3.2考点2:详细设计 39
4.4软件测试 41
4.4.1考点1:软件测试的目的 41
4.4.2考点2:测试方法 41
4.4.3考点3:测试用例设计 42
4.4.4考点4:软件测试策略 44
4.5程序调试 45
4.5.1考点1:静态调试 45
4.5.2考点2:动态调试 45
4.5.3考点3:调试策略 45
4.6软件维护 46
4.7小结 46
4.8同步训练 47
4.8.1选择题 47
4.8.2填空题 48
4.9同步训练答案 48
4.9.1选择题 48
4.9.2填空题 48
第5章 数据库设计基础 49
5.1数据库基础知识 49
5.1.1考点1:数据库 49
5.1.2考点2:数据库管理系统 50
5.1.3考点3:数据库系统 50
5.1.4考点4:数据管理技术的发展 51
5.2数据模型 52
5.2.1考点1:数据模型的概述 52
5.2.2考点2:实体联系模型及E-R图 52
5.2.3考点3:层次、网状、关系模型 54
5.2.4考点4:从E-R图导出关系数据模型 56
5.3关系运算 56
5.3.1考点1:关系代数 56
5.3.2考点2:传统的集合运算 57
5.3.3考点3:专门的关系运算 57
5.4数据库设计 59
5.4.1考点1:数据库设计概述 59
5.4.2考点2:数据库设计方法 59
5.4.3考点3:数据库设计步骤 60
5.4.4考点4:数据库的规范化 60
5.5小结 61
5.6同步训练 61
5.6.1选择题 61
5.6.2填空题 62
5.7同步训练答案 63
5.7.1选择题 63
5.7.2填空题 63
第6章C程序设计的初步知识 64
6.1 C程序简介 64
6.1.1考点1:C源程序编译与执行 64
6.1.2考点2:程序设计步骤 64
6.2 C程序构成与格式 65
考点:C程序构成和格式 65
6.3数据类型 65
6.3.1考点1:标识符 65
6.3.2考点2:常量 66
6.3.3考点3:变量 66
6.3.4考点4:整型数据 66
6.3.5考点5:实型数据 67
6.3.6考点6:字符型数据 67
6.4运算符和表达式 68
6.4.1考点1:算术运算符 68
6.4.2考点2:算术表达式 68
6.4.3考点3:赋值表达式 69
6.4.4考点4:自加、自减运算符 69
6.4.5考点5:逗号运算符和逗号表达式 70
6.5同步训练 70
6.5.1选择题 70
6.5.2填空题 73
6.6同步训练答案 75
6.6.1选择题 75
6.6.2填空题 75
第7章 顺序结构程序设计 76
7.1基本概念 76
7.1.1考点1:顺序结构概述 76
7.1.2考点2:赋值语句、复合语句和空语句 77
7.2数据输出 77
7.2.1考点1:单字符输出函数putchar 77
7.2.2考点2:字符串输出函数puts 78
7.2.3考点3:格式输出函数printf 78
7.3数据输入 80
7.3.1考点1:字符输入函数getchar 80
7.3.2考点2:字符串输入函数gets 80
7.3.3考点3:格式输入函数scanf 81
7.4同步训练 82
7.4.1选择题 82
7.4.2填空题 84
7.5同步训练答案 85
7.5.1选择题 85
7.5.2填空题 85
第8章 选择结构程序设计 86
8.1基本概念 86
考点:关系运算和逻辑运算 86
8.2 if语句与条件表达式 87
考点:if语句及条件表达式 87
8.3 switch语句与goto语句 89
8.3.1考点1:switch语句使用 89
8.3.2考点2:goto语句 90
8.4同步训练 91
8.4.1选择题 91
8.4.2填空题 92
8.5同步训练答案 93
8.5.1选择题 93
8.5.2填空题 93
第9章 循环结构程序设计 94
9.1 while和do-while循环结构 94
9.1.1考点1: while语句 94
9.1.2考点2: do-while语句 95
9.2 for循环结构 96
考点:for语句的基本用法 96
9.3循环结构嵌套及流程控制 97
9.3.1考点1:循环结构嵌套 97
9.3.2考点2:break语句的使用 98
9.3.3考点3:continue语句的使用 99
9.4同步训练 100
9.4.1选择题 100
9.4.2填空题 103
9.5同步训练答案 105
9.5.1选择题 105
9.5.2填空题 105
第10章 函数 106
10.1函数基本概念 106
10.1.1考点1:函数的概念 106
10.1.2考点2:函数的定义 106
10.1.3考点3:函数的调用方式 107
10.2函数调用中的数据传递 108
10.2.1考点1:参数的传递 108
10.2.2考点2:函数的返回值 109
10.3函数的递归调用 111
10.3.1考点1:函数的嵌套调用 111
10.3.2考点2:函数的递归调用 111
10.4函数的存储分类和变量的存储分类 113
10.4.1考点1:内部函数和外部函数 113
10.4.2考点2:局部变量和全局变量 113
10.4.3考点3:变量的存储类型 114
10.5同步训练 116
10.5.1选择题 116
10.5.2填空题 122
10.6同步训练答案 123
10.6.1选择题 123
10.6.2填空题 124
第11章 指针与数组 125
11.1指针基础知识 125
11.1.1考点1:地址、指针和指针变量 125
11.1.2考点2:指针变量的定义与引用 126
11.2指针在函数数据传递中的应用 128
11.2.1考点1:指针变量作为函数参数 128
11.2.2考点2:指向函数的指针 129
11.3数组基础知识 130
11.3.1考点1:一维数组的定义与初始化 130
11.3.2考点2:一维数组的引用 131
11.3.3考点3:二维数组的定义与初始化 132
11.3.4考点4:二维数组的引用 134
11.4数组与指针 135
11.4.1考点1:指针与变量的地址 135
11.4.2考点2:指针与一维数组 136
11.4.3考点3:指针与二维数组 139
11.4.4考点4:指针数组与指向指针的指针 140
11.5数组与函数参数 141
11.5.1考点1:数组元素作为函数参数 141
11.5.2考点2:数组名作为函数参数 141
11.6字符数组与字符串 143
11.6.1考点1:字符数组与字符串 143
11.6.2考点2:字符指针变量与字符串 145
11.6.3考点3:典型字符串处理函数 146
11.6.4考点4:字符数组与字符串的应用 146
11.7同步训练 149
11.7.1选择题 149
11.7.2填空题 157
11.8同步训练答案 161
11.8.1选择题 161
11.8.2填空题 161
第12章 编译预处理与动态存储分配 162
12.1编译预处理 162
12.1.1考点1:预处理概述 162
12.1.2考点2:宏定义 162
12.1.3考点3:文件包含 164
12.1.4考点4:条件编译 165
12.2动态存储分配 165
考点1:动态存储分配常用函数 165
12.3同步训练 166
12.3.1选择题 166
12.3.2填空题 168
12.4同步训练答案 169
12.4.1选择题 169
12.4.2填空题 169
第13章 结构体与联合体 170
13.1类型定义符 170
考点1:typedef 170
13.2结构体 171
13.2.1考点1:结构变量说明 171
13.2.2考点2:结构变量的赋值和初始化 173
13.2.3考点3:结构指针变量 174
13.2.4考点4:结构数组 176
13.2.5考点5:利用结构体变量构成链表 178
13.3联合体 183
考点1:联合的定义和联合变量的说明 183
13.4同步训练 185
13.4.1选择题 185
13.4.2填空题 191
13.5同步训练答案 193
13.5.1选择题 193
13.5.2填空题 193
第14章 位运算 194
14.1位运算符 194
考点1:常用位运算符 194
14.2位运算操作 194
14.2.1考点1:移位运算 194
14.2.2考点2:按位逻辑运算 195
14.3同步训练 196
14.3.1选择题 196
14.3.2填空题 196
14.4同步训练答案 196
14.4.1选择题 196
14.4.2填空题 196
第15章 文件操作 197
15.1文件指针 197
15.1.1考点1:文件基本概念 197
15.1.2考点2:文件类型指针 197
15.2文件打开与关闭 198
15.2.1考点1:文件的打开 198
15.2.2考点2:文件的关闭 198
15.3文件的读/写 199
15.3.1考点1:字符的读/写 199
15.3.2考点2:字符串的读/写 199
15.3.3考点3:格式化读/写 199
15.3.4考点4:成块读/写 199
15.4文件的定位 200
考点1:文件的定位 200
15.5同步训练 200
15.5.1选择题 200
15.5.2填空题 202
15.6同步训练答案 203
15.6.1选择题 203
15.6.2填空题 203
第16章 笔试模拟试卷及解析 204
16.1模拟试题一 204
16.2模拟试题二 210
16.3模拟试题三 216
16.4模拟试题四 222
16.5模拟试题五 229
16.6答案与解析 235
16.6.1模拟试题1 235
16.6.2模拟试题2 237
16.6.3模拟试题3 240
16.6.4模拟试题4 243
16.6.5模拟试题5 246
第17章 机试指导、分类解析及模拟 249
17.1机试纪律及步骤 249
17.1.1上机考试纪律 249
17.1.2操作步骤及考试规则 249
17.2机试分类解析 251
17.2.1程序填空题 251
17.2.2程序修改题 256
17.2.3程序设计题 260
17.3机试全真模拟 266
模拟试题1上机模拟1 266
模拟试题2上机模拟2 267
模拟试题3上机模拟3 268
模拟试题4上机模拟4 268
模拟试题5上机模拟5 269
模拟试题6上机模拟6 270
模拟试题7上机模拟7 271
模拟试题8上机模拟8 272
模拟试题9上机模拟9 273
模拟试题10上机模拟10 274
17.4参考答案 275
模拟试题1上机模拟1 275
模拟试题2上机模拟2 275
模拟试题3上机模拟3 275
模拟试题4上机模拟4 275
模拟试题5上机模拟5 275
模拟试题6上机模拟6 276
模拟试题7上机模拟7 276
模拟试题8上机模拟8 276
模拟试题9上机模拟9 276
模拟试题10上机模拟10 276
附录A 2010年上半年笔试试卷及解析 277
附录B 2010年下半年笔试试卷及解析 288
附录C 2011年上半年笔试试卷及解析 298
附录D 2011年下半年笔试试卷及解析 309