全国计算机等级考试二级C语言真题题库1 2014年9月
(总分:43.00,做题时间:120分钟)
一、选择题(每小题1分,共40分)(总题数:40,分数:40.00)
1.面向对象方法中,实现对象的数据和操作结合于统一体中的是( )。 (分数:1.00) A.结合 B.封装 √ C.隐藏 D.抽象
解析:[解析]对象的基本特点是:标识唯一性、分类性、多态性、封装性、模块独立性好。封装是指隐藏对象的属性和实现细节,将数据和操作结合于统一体,仅对外提供访问方式,故B选项正确。 2.在进行逻辑设计时,将E—R图中实体之间联系转换为关系数据库的( )。 (分数:1.00) A.关系 √ B.元组 C.属性 D.属性的值域
解析:[解析]E-R模型和关系模式的对照表如下。 故A选项正确。
3.线性表的链式存储结构与顺序存储结构相比,链式存储结构的优点有( )。 (分数:1.00) A.节省存储空间
B.插入与删除运算效率高 √ C.便于查找
D.排序时减少元素的比较次数
解析:[解析]顺序表和链表的优缺点比较如下表所示。 率高,故B选项正确。
4.深度为7的完全二叉树中共有125个节点,则该完全二叉树中的叶子节点数为( )。 (分数:1.00) A.62 B.63 √ C.64 D.65
解析:[解析〕在树结构中,定义一棵树的根节点所在的层次为1,其他节点所在的层次等于它的父节点所在的层次加1,树的最大层次称为树的深度。完全二叉树指除最后一层外,每一层上的节点数均达到最大值,在最后一层上只缺少右边的若干节点。深度为6的满二叉树,节点个数为2-1=63,则第7层共有125—63=62个叶子节点,分别挂在第6层的左边62个节点上,加上第6层的最后1个叶子节点,该完全二叉树共有63个叶子节点,故B选项正确。 5.下列叙述中正确的是( )。 (分数:1.00)
A.所谓有序表是指在顺序存储空间内连续存放的元素序列 B.有序表只能顺序存储存连续的存储空间内
C.有序表可以用链接存储方式存储在不连续的存储空间内 √ D.任何存储方式的有序表均能采用二分法进行查找
6
由表中可以看出,联系转换为关系数据库的关系,
由表中可以看出链式存储插入与删除运算效解析:[解析]“有序”是特指元素按顺序排列但允许相邻元素相等,A选项错误。有序表可以顺序存储也可以链式存储,B选项错。能使用二分法查找的线性表必须满足两个条件:用顺序存储结构;线性表是有序表,D选项错误。故C选项正确。例如:有序链表。 6.设二叉树如下: (分数:1.00) A.ABDEGCFH B.DBGEAFHC C.DGEBHFCA √ D.ABCDEFGH
解析:[解析]二叉树遍历可以分为3种:前序遍历(访问根节点在访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。本题中前序遍历为ABDEGCFH,中序遍历为DBGEAFHC,后序遍历为DGEBHFCA,故C选项正确。 7.计算机软件包括( )。 (分数:1.00) A.算法和数据 B.程序和数据 C.程序和文档
D.程序、数据及相关文档 √
解析:[解析]计算机软件由两部分组成:一是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。故D选项正确。 8.下面描述中不属于软件需求分析阶段任务的是( )。 (分数:1.00)
A.撰写软件需求规格说明书 B.软件的总体结构设计 √ C.软件的需求分析 D.软件的需求评审
解析:[解析]需求分析阶段的工作可以分为4个方面:需求获取、需求分析、编写需求规格说明书和需求评审。故B选项正确。
9.当数据库中数据总体逻辑结构发生变化,而应用程序不受影响,称为数据的( )。 (分数:1.00) A.逻辑独立性 √ B.物理独立性 C.应用独立性 D.空间独立性
解析:[解析]数据独立性包括物理独立性和逻辑独立性,物理独立性指数据的物理结构的改变,不会影响数据库的逻辑结构,也不会引起应用程序的改动;逻辑独立性指数据库的总体逻辑结构的改变,不会导致相应的应用程序的改变。故A选项正确。 10.有3个关系R、S和T如下: (分数:1.00) A.并 √ B.投影 C.交 D.选择
解析:[解析]用于查询的3个操作无法用传统的集合运算表示,引入的运算为投影运算、选择运算、笛卡尔积。常用的扩充运算有交、除、连接及自然连接等。投影:从关系模式中指定若干个属性组成新的关系,T相较于R没有缺少属性,放B选项错误。选择:从关系中找出满足给定条件的元组的操作称为选择,T相
则由关系R和S得到关系T的操作是( )。
则后序序列为( )。
较于R增加了元组,故D选项错误。交:R∩S结果是既属于R又属于S的记录组成的集合,T中元组多于R与S,放C选项错误。并:R∪5是将S中的记录追加到R后面,与题目中结果相符,故A选项正确。 11.以下叙述正确的是( )。 (分数:1.00)
A.C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.obj的二进制文件 √ B.C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.exe的可执行文件 C.C编译程序把文件后缀为.obj的二进制文件编译成文件后缀为.exe的可执行文件 D.链接程序把文件后缀为.c的源程序文件链接成文件后缀为.exe的可执行文件
解析:[解析]C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.obj的二进制文件,链接将一个或多个目标文件与程序用到的库文件连接起来,形成一个可以在操作系统直接运行的执行程序.exe,故排除B、C、D选项,答案选A选项。 12.以下叙述正确的是( )。 (分数:1.00)
A.循环结构、选择结构、顺序结构都是结构化程序的基本结构 √ B.计算机可以直接执行C语言程序,不需要做任何转换 C.过于复杂的算法不能使用N-S流程图描述 D.只有不超过20步操作步骤的算法才是简单算法
解析:[解析]计算机只能识别机器语言,C语言是高级语言,计算机无法直接执行,排除B选项;N-S流程图是复杂流程算法的描述手段,因此C选项错误;算法的复杂与简单,由算法的思想和时空复杂度决定的,不能用操作步骤数来衡量,D选项错误;循环结构、选择结构、顺序结构都是结构化程序的基本结构,答案为A选项。 13.有如下程序: (分数:1.00) A.X=115 B.X=73 C.X=59 √ D.X=72
解析:[解析]x定义为072,表尔x为一个八进制数,%d代表十进制整数输出,x需要转化成十进制为58,在输出时,x+1=59,再输出,答案为C选项,另外输出时不能忘记“.”。 14.下面叙述正确的是( )。 (分数:1.00)
A.任何复杂任务都可以分解成简单子任务 √ B.C语言程序的所有函数只能处于同一个源文件 C.包含全部三种基本结构的程序才是结构化程序 D.C语言程序可以定义多个不同内容的main()函数
解析:[解析]C语言程序的两数可以处于不同的源文件,B选项错误;包含一种基本结构的程序就是结构化程序,C选项错误;C语言只可以定义一个main()函数,D选项错误,答案为A选项。 15.以下叙述正确的是( )。 (分数:1.00)
A.C程序总是以main()作为程序执行的起始行 √ B.main()函数若不带参数,其后面的一对圆括号可省略 C.函数体内的定义语句和可执行语句允许任意穿插出现 D.C语言中的语句之间必须用分号作为分隔符
解析:[解析]main()函数后面的括号告诉编译器这是一个函数,不可以省略,排除B选项;在复合语句中,不仅可以有执行语句,还可以有定义语句,定义语句应该出现在执行语句的前面,故排除C选项;C语言中的某些语句可以不用分号,例如if语句,宏定义,故D选项错误;答案为A选项。
程序运行后的输出结果是( )。
16.有以下程序: (分数:1.00) A.abcdefg B.bcdefgh $ C.bcdefgh $ $ D.bcdefgh √
执行时如输入为:abcdefg##,则输出结果是( )。
解析:[解析]题目中for语句含义是,每次将函数getchar()的输入值赋给变量c,如果不等于‘#’,则执行putchar(++c),即将当前变量c值的ASCII码+1后,再输出改变后的变量c的值。当变量c的值等于‘#’,则终止循环,所以输出应该是bcdefgh,答案为D选项。 17.有以下程序: (分数:1.00) A.0 √ B.1 C.10 D.4
解析:[解析]题干中for循环内有break和continue语句,且均放在b+=a语句前面,无论if条件是否满足,b+=a都不会被执行,因此b值始终为0,答案为A选项。 18.有以下程序: (分数:1.00) A.True
B.TrueFalse √ C.False D.TrueFalseTrue
解析:[解析]if(x=0x12)此处是赋值语句“=”,注意赋值操作符“=”与相等操作符“==”的区别,因此答案为B选项。
19.为了避免在嵌套的if-else语句中产生二义性,C语言规定与else子句配对是( )。 (分数:1.00)
A.与其在同一行上的if子句
B.在其之后最近的不带else的if子句 C.与其缩排位置相同的if子句
D.在其之前最近的不带else的同层if子句 √
解析:[解析]注意if与else的配对父系。原则是if总是与它上面最近的、未配对的else配对,因此答案为D选项。 20.有以下程序: (分数:1.00) A.11,10 √ B.10,10 C.10,11 D.11,11
解析:[解析]当i=10时循环继续执行,i值赋值给变量a。赋值完成后执行i=i+1,此时i=11,判定是否满足条件i<=10,不满足条件,结束循环。循环结束时,printf()是从右到左结合的,输出i,a的值为11,10,答案为A选项。 21.有以下程序: (分数:1.00)
程序运行后的输出结果是( )。 程序的运行结果是( )。 程序运行后的输出结果是( )。
程序运行后的输出结果是( )。
相关推荐: