标题：全国计算机等级考试二级C语言
图书信息

书  名：全国计算机等级考试考点分析、题解与模拟——二级C语言（第3版）
作　者：桂阳，王功明主编  
希赛IT教育研发中心组编
出 版 社： 电子工业出版社
出版时间： 2009-6-1
页　数：436页
开　本： 16开
I S B N ： 9787121088827
定价：49.8元
内 容 简 介

本书由希赛IT教育研发中心组织编写，紧扣教育部考试中心新推出的考试大纲，通过对历年试题进行科学分析、研究、总结、提炼而成。本书主要内容包括应试指南、考点分析与同步训练、5套笔试全真模拟试卷及解析、机试指导、10套机试全真模拟试题及解析、2008年9月与2009年3月的真题解析。
基于历年试题，利用统计分析的方法，科学地做出结论并预测以后的出题动向，是本书的一大特色。本书可以保证既不漏掉考试必需的知识点，又不加重考生备考负担，使考生轻松、愉快地掌握知识点并领悟二级C语言考试的真谛。“一书在手，过关无忧”。对于机试方面，经过深入分析上机考试题库内容，本书作者精心组织了5套全真模拟试题，试题涉及历次考试内容的各个方面。
本书可以作为参加全国计算机等级考试——二级C语言考试的复习用书，也可作为学习C语言的参考书。
前 言

全国计算机等级考试（NCRE）由教育部考试中心主办，面向社会，用于考查非计算机专业人员计算机应用知识与能力。考试客观、公正，得到了社会的广泛认可。
本书紧扣考试大纲，采用了表格统计法、饼状图分析法、走势图分析法，科学地研究每个知识点的命题情况，准确把握每个出题点的深浅。同时基于每个章节知识点分布统计分析的结果，科学地编写后面的同步训练试题及全真模拟试卷，完全紧扣大纲，结构科学、重点突出、针对性强。
内容超值，针对性强
本书共分5个部分。
第一部分为应试指南。应试指南内有考试大纲，笔试试题历年知识点分布图，笔试、机试的方法和技巧。通过学习本部分内容，考生可以对计算机等级考试的知识点分布、常用应试方法和技巧有一个整体上的认识和把握。
第二部分为知识点解析。知识点解析涵盖了新大纲中所规定的所有考试内容和考试必备的知识点。本部分充分采用多种统计分析方法研究试题并指导考生备考。每章开头都有“章节前奏”，利用表格统计法在时间上分析该章节各个小节历年出题情况，利用饼状图在空间上直观表示各个小节的试题分布。每个小节开头都有“小节前奏”，利用趋势分析法精确地预测以后命题的情况。对章节中的知识点解析深浅程度根据该知识点在历年试题中的统计分析结果而定。每个小节后面都有“同步训练”及其解答，帮助考生温习和巩固前面所学的理论知识，也是根据前面知识点统计分析的结果而命题的。这种辅导方式保证内容全面，突出重点，为考生打造一条通向等级考试终点的捷径。
第三部分为笔试全真模拟试卷。笔试全真模拟试卷完全紧扣大纲，基于2009年3月考试真题编写，无论在形式方面还是难度方面，都和真题相似，并且配有详尽的解析。
第四部分为机试指导、分类解析及模拟。上机考试是考生的一个弱项，往往令考生不知所措。对试题进行分类可以很好地指导考生应考，经过对上机考试题库内容的分析，按照其考试内容，将其分为三类：字符问题、数字问题、结构体问题，每类问题还可以分出一些子问题，对其进行逐类讲解，使考生快速适应上机考试模式和结构。本部分还配有一些习题供考生练习，考生也可以到希赛教育网（www.educity.cn）下载最新的上机环境和题库，以便及时跟踪上机考试动向。
第五部分为附录。附录部分包括2008年9月、2009年3月考试真题及详细解析。
作者权威，阵容强大
希赛是中国领先的IT教育和互联网技术公司，在IT人才培养、行业信息化、互联网服务及其他技术方面，希赛始终保持IT业界的领先地位。希赛对国家信息化建设和软件产业化发展具有强烈的使命感，利用希赛顾问网（www.CSAI.cn）强大的平台优势，加强与促进IT人士之间的信息交流和共享，实现IT价值。
希赛IT教育研发中心（以下简称“希赛教育”）是希赛公司属下的一个专门从事IT教育、教育产品开发、教育书籍编写的部门，在IT教育方面具有极高的权威性。特别是在IT在线教育方面，稳居国内首位，希赛教育的远程教育模式得到了国家教育部门的认可和推广。“让每个人随时随地享受IT教育”是希赛教育不懈努力和追求的目标。
希赛教育是国内唯一的进行计算机等级考试在线教育的大型教育机构，在该领域取得了很好的效果。该机构组织大纲制订者和阅卷组成员编写了考试辅导教材近20本，内容涵盖了计算机等级考试的二级、三级和四级的主要级别；组织权威专家和辅导名师录制了考试培训视频教程，对历年考试进行了跟踪研究和比较研究，编写了权威的全真模拟试题。希赛教育在线测试频道中有数十套全真模拟试题，供考生进行考前模拟，并且还开发了上机考试的模拟测试系统。希赛教育的计算机等级考试培训采取统一教材、统一视频、统一认证教师的形式，采取线下培训与线上辅导相结合的方式，确保学员在通过考试的前提下能真正学到有用的知识。
本书由希赛IT教育研发中心组织编写，参加编写的人员来自大学教学一线和企业研发团队，具有丰富的教学和辅导经验，对等级考试有深入的研究，具有极强的应试技巧、理论知识、实践经验和责任心。
本书由桂阳、王功明主编，张友生审核了所有稿件。全书共分为17章，第1、6、14、16、17章由王功明编写，第2章由刘洋波编写，第3章由邓子云编写，第4章由黄婧编写，第5章由周娜琴编写，第7章由谢顺编写，第8、9章由熊佳斌编写，第10章由王冀编写，第11章由朱云翔编写，第12、13章由陈建忠编写，第15章由彭世强、王功明编写，附录由桂阳编写。
在线测试，心中有数
希赛教育网在线测试平台（http://test.educity.cn）为考生准备了在线测试，其中有数十套全真模拟试题和考前密卷，考生可选择任何一套进行测试。测试完毕，系统自动判卷，立即给出分数。
对于考生做错的地方，系统会自动记忆，待考生第二次参加测试时，可选择“试题复习”。这样，系统就会自动把考生原来做错的试题显示出来，供考生重新测试，以加强记忆。
如此，读者可利用希赛教育网在线测试平台的在线测试系统检查自己的实际水平，加强考前训练，做到心中有数，考试不慌。
诸多帮助，诚挚致谢
在本书出版之际，要特别感谢教育部考试中心计算机等级考试办公室的命题专家们，编者在本书中引用了部分考试原题，使本书能够尽量方便读者的阅读。在本书的编写过程中，参考了许多相关的文献和书籍，编者在此对这些参考文献的作者表示感谢。
感谢电子工业出版社孙学瑛老师，她在本书的策划、选题的申报、写作大纲的确定，以及编辑、出版等方面，付出了辛勤的劳动和智慧，给予了我们很多的支持和帮助。
感谢参加希赛教育计算机等级考试辅导和培训的学员，感谢本书前两版的读者，正是他们的想法汇成了本书的源动力，他们的意见使本书更加贴近读者。
由于编者水平有限，且本书涉及的内容很广，书中难免存在错漏和不妥之处，编者诚恳地期望各位专家和读者不吝指正和帮助，对此，我们将十分感激。
互动讨论，专家答疑
希赛教育网是中国最大的IT在线教育网站，是中国最大的IT资源平台，希赛教育网社区（http://bbs.educity.cn）是国内人气最旺的IT教育和技术社区。在希赛教育网社区“计算机等级考试”版块，读者可以和数十万考生进行在线交流，讨论有关学习和考试的问题，以及人生和职业规划的话题。希赛IT教育研发中心拥有强大的师资队伍，为读者提供全程的答疑服务，在线回答读者的问题。
有关本书的意见反馈和咨询，读者可在希赛教育网社区中的“书评在线”版块的“希赛IT教育研发中心”栏目上与作者进行交流。
希赛IT教育研发中心
2009年4月
目 录

第1章    应试指南    1
1.1  二级C语言考试大纲（最新版）    1
1.1.1  公共基础知识    1
1.1.2  C语言程序设计    2
1.2  笔试方法和技巧    4
1.3  机试方法和技巧    7
第2章    数据结构与算法    9
2.1  算法的基本概念    10
2.1.1  考点1：算法的定义    10
2.1.2  考点2：算法复杂度    10
2.2  数据结构的定义    11
2.2.1  考点1：什么是数据结构    11
2.2.2  考点2：数据结构的图形表示    13
2.3  线性表    13
2.3.1  考点1：线性表    13
2.3.2  考点2：线性表的顺序存储结构    14
2.3.3  考点3：线性表的插入和
删除操作    14
2.4  栈    15
2.4.1  考点1：什么是栈    15
2.4.2  考点2：栈的顺序存储结构    15
2.4.3  考点3：栈的插入和删除运算    15
2.5  队列    16
2.5.1  考点1：什么是队列    16
2.5.2  考点2：队列的顺序存储结构    16
2.5.3  考点3：队列的插入和删除运算    17
2.6  线性单链表、双向链表与
循环链表    17
2.6.1  考点1：线性单链表    18
2.6.2  考点2：循环链表    18
2.6.3  考点3：双向链表    19
2.6.4  考点4：链表的基本操作    19
2.7  树    19
2.7.1  考点1：树的定义    20
2.7.2  考点2：二叉树的定义    21
2.7.3  考点3：二叉树的顺序存储结构    22
2.7.4  考点4：二叉树的链式存储结构    22
2.7.5  考点5：二叉树的遍历    22
2.8  查找算法    24
2.8.1  考点1：顺序查找    24
2.8.2  考点2：二分查找    24
2.9  排序算法    25
2.9.1  考点1：排序概述    25
2.9.2  考点2：插入类排序    26
2.9.3  考点3：交换类排序    26
2.9.4  考点4：选择类排序    27
2.10  小结    28
2.11  同步训练    28
2.11.1  选择题    28
2.11.2  填空题    30
2.12  同步训练答案    30
2.12.1  选择题    30
2.12.2  填空题    30
第3章    程序设计基础    31
3.1  程序设计    31
3.1.1  考点1：程序设计的方法    32
3.1.2  考点2：程序设计的风格    32
3.2  结构化程序设计    34
3.2.1  考点1：结构化程序设计的提出    34
3.2.2  考点2：结构化程序设计的
基本特征    35
3.2.3  考点3：结构化程序设计的
3种基本结构    35
3.2.4  考点4：结构化程序设计方法    38
3.2.5  考点5：结构化程序设计方法
的原则    38
3.3  面向对象程序设计    39
3.3.1  考点1：面向对象程序设计方法
的提出    39
3.3.2  考点2：面向对象程序设计方法
的基本概念    39
3.3.3  考点3：面向对象程序设计的
基本思想和方法    40
3.4  小结    41
3.5  同步训练    41
3.5.1  选择题    41
3.5.2  填空题    43
3.6  同步训练答案    43
3.6.1  选择题    43
3.6.2  填空题    44
第4章    软件工程基础    45
4.1  软件工程的基本概念    46
4.1.1  考点1：软件与软件工程概述    46
4.1.2  考点2：软件生命周期    47
4.1.3  考点3：软件工具与软件开发
环境    48
4.2  结构化分析方法    48
4.2.1  考点1：结构化分析方法概述    48
4.2.2  考点2：数据流图    49
4.2.3  考点3：数据字典    51
4.2.4  考点4：软件需求规格说明书    52
4.3  软件设计    52
4.3.1  考点1：概要设计    52
4.3.2  考点2：详细设计    55
4.4  软件测试    58
4.4.1  考点1：软件测试的目的    58
4.4.2  考点2：测试方法    58
4.4.3  考点3：测试用例设计    59
4.4.4  考点4：软件测试策略    61
4.5  程序调试    64
4.5.1  考点1：静态调试    64
4.5.2  考点2：动态调试    64
4.5.3  考点3：调试策略    64
4.6  软件维护    65
4.7  小结    66
4.8  同步训练    66
4.8.1  选择题    66
4.8.2  填空题    68
4.9  同步训练答案    68
4.9.1  选择题    68
4.9.2  填空题    68
第5章    数据库设计基础    69
5.1  数据库基础知识    70
5.1.1  考点1：数据库    70
5.1.2  考点2：数据库管理系统    71
5.1.3  考点3：数据库系统    71
5.1.4  考点4：数据管理技术的发展    72
5.2  数据模型    73
5.2.1  考点1：数据模型的概述    73
5.2.2  考点2：实体联系模型及E-R图    74
5.2.3  考点3：层次、网状、关系模型    77
5.2.4  考点4：从E-R图导出关系
数据模型    78
5.3  关系运算    79
5.3.1  考点1：关系代数    79
5.3.2  考点2：传统的集合运算    80
5.3.3  考点3：专门的关系运算    81
5.4  数据库设计    83
5.4.1  考点1：数据库设计概述    83
5.4.2  考点2：数据库设计方法    83
5.4.3  考点3：数据库设计步骤    84
5.4.4  考点4：数据库的规范化    85
5.5  小结    85
5.6  同步训练    86
5.6.1  选择题    86
5.6.2  填空题    87
5.7  同步训练答案    88
5.7.1  选择题    88
5.7.2  填空题    88
第6章    C程序设计的初步知识    89
6.1  C程序简介    89
6.1.1  考点1：C源程序编译与执行    89
6.1.2  考点2：程序设计步骤    90
6.2  C程序构成与格式    90
6.2.1  考点1：C程序构成和格式    90
6.3  数据类型    91
6.3.1  考点1：标识符    91
6.3.2  考点2：常量    92
6.3.3  考点3：变量    92
6.3.4  考点4：整型数据    92
6.3.5  考点5：实型数据    93
6.3.6  考点6：字符型数据    93
6.4  运算符和表达式    94
6.4.1  考点1：算术运算符    94
6.4.2  考点2：算术表达式    95
6.4.3  考点3：赋值表达式    95
6.4.4  考点4：自加、自减运算符    96
6.4.5  考点5：逗号运算符和逗号
表达式    97
6.5  同步训练    97
6.5.1  选择题    97
6.5.2  填空题    102
6.6  同步训练答案    104
6.6.1  选择题    104
6.6.2  填空题    104
第7章    顺序结构程序设计    105
7.1  基本概念    105
7.1.1  考点1：顺序程序概述    105
7.1.2  考点2：赋值语句、复合语句
和空语句    106
7.2  数据输出    107
7.2.1  考点1：单字符输出函数
putchar    107
7.2.2  考点2：字符串输出函数puts    108
7.2.3  考点3：格式输出函数printf    108
7.3  数据输入    110
7.3.1  考点1：字符输入函数getchar    110
7.3.2  考点2：字符串输入函数gets    111
7.3.3  考点3：格式输入函数scanf    112
7.4  同步训练    113
7.4.1  选择题    113
7.4.2  填空题    116
7.5  同步训练答案    117
7.5.1  选择题    117
7.5.2  填空题    117
第8章    选择结构程序设计    118
8.1  基本概念    118
8.1.1  考点1：关系运算和逻辑运算    118
8.2  if语句与条件表达式    120
8.2.1  考点1：if语句及条件表达式    120
8.3  switch语句与goto语句    122
8.3.1  考点1：switch语句的使用    122
8.3.2  考点2：goto语句    124
8.4  同步训练    125
8.4.1  选择题    125
8.4.2  填空题    127
8.5  同步训练答案    128
8.5.1  选择题    128
8.5.2  填空题    128
第9章    循环结构程序设计    129
9.1  while和do-while循环结构    129
9.1.1  考点1：while语句    129
9.1.2  考点2：do-while语句    131
9.2  for循环结构    131
9.2.1  考点1：for语句的基本用法    131
9.3  循环结构嵌套及流程控制    134
9.3.1  考点1：循环结构嵌套    134
9.3.2  考点2：break语句的使用    135
9.3.3  考点3：continue语句的使用    136
9.4  同步训练    137
9.4.1  选择题    137
9.4.2  填空题    142
9.5  同步训练答案    144
9.5.1  选择题    144
9.5.1  填空题    144
第10章    函数    145
10.1  函数基本概念    145
10.1.1  考点1：函数的概念    145
10.1.2  考点2：函数的定义    146
10.1.3  考点3：函数的调用方式    147
10.2  函数调用中的数据传递    148
10.2.1  考点1：参数的传递    148
10.2.2  考点2：函数的返回值    149
10.3  函数的递归调用    152
10.3.1  考点1：函数的嵌套调用    152
10.3.2  考点2：函数的递归调用    152
10.4  函数的存储分类和变量的
存储分类    154
10.4.1  考点1：内部函数和外部函数    154
10.4.2  考点2：局部变量和全局变量    154
10.4.3  考点3：变量的存储类型    155
10.5  同步训练    159
10.5.1  选择题    159
15.2.2  填空题    167
10.6  同步训练答案    168
10.6.1  选择题    168
10.6.2  填空题    168
第11章    指针与数组    169
11.1  指针基础知识    169
11.1.1  考点1：地址、指针和
指针变量    169
11.1.2  考点2：指针变量的定义
与引用    170
11.2  指针在函数数据传递中的应用    173
11.2.1  考点1：指针变量作为函数
参数    173
11.2.2  考点2：指向函数的指针    175
11.3  数组基础知识    176
11.3.1  考点1：一维数组的定义与
初始化    177
11.3.2  考点2：一维数组的引用    177
11.3.3  考点3：二维数组的定义与
初始化    179
11.3.4  考点4：二维数组的引用    181
11.4  数组与指针    183
11.4.1  考点1：指针与变量的地址    183
11.4.2  考点2：指针与一维数组    183
11.4.3  考点3：指针与二维数组    187
11.4.4  考点4：指针数组与指向指针
的指针    189
11.5  数组与函数参数    190
11.5.1  考点1：数组元素作为函数
参数    190
11.5.2  考点2：数组名作为函数参数    190
11.6  字符数组与字符串    192
11.6.1  考点1：字符数组与字符串
的定义    192
11.6.2  考点2：字符指针变量与
字符串    194
11.6.3  考点3：典型字符串处理函数    196
11.6.4  考点4：字符数组与字符串
的应用    197
11.7  同步训练    199
11.7.1  选择题    199
11.7.2  填空题    211
11.8  同步训练答案    216
11.8.1  选择题    216
11.8.2  填空题    216
第12章    编译预处理与动态存储分配    217
12.1  编译预处理    217
12.1.1  考点1：预处理概述    217
12.1.2  考点2：宏定义    218
12.1.3  考点3：文件包含    219
12.1.4  考点4：条件编译    221
12.2  动态存储分配    222
12.2.1  考点1：动态存储分配
常用函数    222
12.3  同步训练    223
12.3.1  选择题    223
12.3.2  填空题    226
12.4  同步训练答案    227
12.4.1  选择题    227
12.4.2  填空题    227
第13章    结构体与联合体    228
13.1  类型定义符    228
13.1.1  考点1：typedef    228
13.2  结构体    229
13.2.1  考点1：结构变量说明    229
13.2.2  考点2：结构变量的赋值和
初始化    232
13.2.3  考点3：结构指针变量    234
13.2.4  考点4：结构数组    237
13.2.5  考点5：利用结构体变量构成
链表    238
13.3  联合体    245
13.3.1  考点1：联合的定义和联合
变量的说明    245
13.4  同步训练    247
13.4.1  选择题    247
13.4.2  填空题    257
13.5  同步训练答案    259
13.5.1  选择题    259
13.5.2  填空题    259
第14章    位运算    260
14.1  位运算符    260
14.1.1  考点1：常用位运算符    260
14.2  位运算操作    261
14.2.1  考点1：移位运算    261
14.2.2  考点2：按位逻辑运算    261
14.3  同步训练    262
14.3.1  选择题    262
14.3.2  填空题    263
14.4  同步训练答案    263
14.4.1  选择题    263
14.4.2  填空题    263
第15章    文件操作    264
15.1  文件指针    264
15.1.1  考点1：文件基本概念    264
15.1.2  考点2：文件类型指针    265
15.2  文件打开与关闭    265
15.2.1  考点1：文件的打开    265
15.2.2  考点2：文件的关闭    266
15.3  文件的读写    267
15.3.1  考点1：字符的读写    267
15.3.2  考点2：字符串的读写    267
15.3.3  考点3：格式化读写    267
15.3.4  考点4：成块读写    267
15.4  文件的定位    268
15.4.1  考点1：文件的定位    268
15.5  同步训练    269
15.5.1  选择题    269
15.5.2  填空题    271
15.6  同步训练答案    272
15.6.1  选择题    272
15.6.2  填空题    272
第16章    笔试模拟试卷及解析    273
16.1  模拟试题一    273
16.2  模拟试题二    283
16.3  模拟试题三    293
16.4  模拟试题四    303
16.5  模拟试题五    314
16.6  答案与解析    323
16.6.1  模拟试题一    323
16.6.2  模拟试题二    330
16.6.3  模拟试题三    337
16.6.4  模拟试题四    343
16.6.5  模拟试题五    350
第17章    机试指导、分类解析及模拟    357
17.1  机试纪律及步骤    357
17.1.1  上机考试纪律    357
17.1.2  操作步骤及考试规则    357
17.2  机试分类解析    360
17.2.1  程序填空题    360
17.2.2  程序修改题    364
17.2.3  程序设计题    366
17.3  机试全真模拟    371
17.3.1  模拟试题一    371
17.3.2  模拟试题二    372
17.3.3  模拟试题三    374
17.3.4  模拟试题四    376
17.3.5  模拟试题五    377
17.3.6  模拟试题六    379
17.3.7  模拟试题七    382
17.3.8  模拟试题八    384
17.3.9  模拟试题九    386
17.3.10  模拟试题十    387
17.4  参考答案    389
17.4.1  模拟试题一    389
17.4.2  模拟试题二    389
17.4.3  模拟试题三    390
17.4.4  模拟试题四    390
17.4.5  模拟试题五    391
17.4.6  模拟试题六    391
17.4.7  模拟试题七    391
17.4.8  模拟试题八    392
17.4.9  模拟试题九    392
17.4.10  模拟试题十    393
附录A    2008年下半年笔试
试卷及解析    394
附录B    2009年上半年笔试
试卷及解析    408