全国计算机等级考试二级
C
语言真题题库
3 2015
?/p>
9
?/p>
(
总分?/p>
43.00
,做题时间:
120
分钟
)
一、选择?/p>
(
每小?/p>
1
分,?/p>
40
?/p>
)(
总题数:
40
,分数:
40.00)
1.
下列叙述中正确的是(
)?/p>
(分数:
1.00
?/p>
A.
程序可以作为算法的一种表达方?/p>
?/p>
B.
算法的有穷性是指算法的规模不能太大
C.
算法的复杂度用于衡量算法的控制结?/p>
D.
算法的效率与数据的存储结构无?/p>
解析?/p>
[
解析
]
算法的有穷性是指操作步骤有限且能在有限时间内完成,
如果一个算法执行耗费的时间太长,
即使最终得出了正确结果,也是没有意义的,故
B
选项错误。一个算法复杂度的高低体现在运行该算法所
需要的计算机资源的多少,故
C
选项错误。算法的效率是指算法执行的时间,算法执行时间需通过依据?/p>
算法编制的程序在计算机上运行时所消耗的时间来度量,这就与算法本身设计的优劣以及具体的编程实?/p>
有关,数据的存储结构会极大的影响程序的执行时间,?/p>
D
选项错误。算法在实现时需要用具体的程序设
计语言来实现,所以程序可以作为实现算法的一种表达方式。故?/p>
A
选项?/p>
2.
某循环队列的存储空间?/p>
Q(1
?/p>
m)
,初始状态为
front
?/p>
rear
?/p>
m
。现经过一系列的入队操作和退队操?/p>
后,
front
?/p>
m-1
?/p>
rear
?/p>
m
,则该循环队列中的元素个数为?/p>
)?/p>
(分数:
1.00
?/p>
A.m-1
B.1
?/p>
C.m
D.0
解析?/p>
[
解析
]
循环队列长度?/p>
m
,由初始状态为
front
?/p>
rear
?/p>
m
可知此时循环队列为空。入队运算时,首
先队尾指?/p>
(rear)
?/p>
1(
?/p>
rear+1)
,然后在
rear
指针指向的位置插入新元素。特别的,当队尾指针
rear
?/p>
m+1
时,?/p>
rear
?/p>
1
。迟队运算时,排头指?/p>
(front)
?/p>
1(
?/p>
front+1)
,然后删?/p>
front
指针指向的位?/p>
上的元素,当排头指针
front
?/p>
m+1
时,?/p>
front
?/p>
1
。从排头指针
front
指向的后一个位置直到队尾指?/p>
rear
指向的位置之间所有的元素均为队列中的元素,则该循环队列中的元素个数为
m-(m-1)
?/p>
1
。故选择
B
选项?/p>
3.
能从任意一个节点开始没有重复地扫描到所有节点的数据结构是(
)?/p>
(分数:
1.00
?/p>
A.
循环链表
?/p>
B.
双向链表
C.
二叉链表
D.
有序链表
解析?/p>
[
解析
]
在单链表的第一个节点前增加一个表头节点,队头指针指向表头节点,最后一个节点的指针
域的值由
NULL
改为指向表头节点?/p>
这样的链表称为循环链表?/p>
在循环链表中?/p>
只要指出表中任何一个节?/p>
的位置,就可以从它出发没有重复地扫描到表中其他所有的节点。双向链表与二叉链表都可以扫描到所?/p>
节点,但是会有重复。有序链表如果是单链表的情况下,不能扫描到所有节点。故
A
选项正确?/p>
4.
某棵树中共有
25
个节点,
且只有度?/p>
3
的节点和叶子节点?/p>
其中叶子节点?/p>
7
个,
则该树中度为
3
的节
点数为(
)?/p>
(分数:
1.00
?/p>
A.
不存在这样的?/p>
?/p>
B.7
C.8
D.6
解析?/p>
[
解析
]
树是一种简单的非线性结构,直观地来看,树是以分支关系定义的层次结构。在树结构中?/p>
一个节点所拥有的后件个数称为该节点的度,所有节点中最大的度称为树的度。首先假设这样的树是存在