2023全国计算机二级C++语言程序设计历年真题节选及答案(一)
一、选择题 (请在[答题]菜单上选择[选择题]命令,启动选择题测试程序,按照题目上的内容进行答题。作答选择题时键盘被封锁,使用键盘无效,考生须使用鼠标答题。选择题部分只能进入一次,退出后不能再次进入。选择题部分不单独计时。)
1、下列链表中,其逻辑结构属于非线性结构的是()
A.二叉链表
B.循环链表
C.双向链表
D.带链的栈
[答案] A
[解析]一个非空的数据结构为线性结构需要满足两个条件:D有且只有一个根结点;@每一个结点最多有一个前件,也最多有一个后件。不是线性结构的就是非线性结构。二又链表是二叉树的存储结构,每个结点都可以有两个后继结点,是非线性结构。BCD三项均满足线性结构的要求。答案选择A选项。
2、设循环队列的存储空间为Q(1:35),初始状为ont-rear=35。现经过一系列入队与退队运算后Front=15,rear-15,则循环队列的元素个数为 ()
A.15
B.16
C.20
D.0或35
[答案] D
(解析] 在循环队列中,front为队首指针,指向队首元素的前一个位置;rear为队尾指针,指向队尾元素。frontFrear=15时,@循环队列可能为空,队首和队尾指针都指向空元素,此时循环队列的元素个数为0;@循环队列可能为满,此时循环队列的元素个数为35。答案选择D选项。

3、下列关于栈的叙述中,正确的是( )
A.栈底元素一定是最后入栈的元素
B.栈顶元素一定是最先入栈的元素
C.栈操作遵循先进后出的原则
D.以上三种说法都不对
[答案] C
(解析] 栈是一种“先进后出”的线性表,最先入栈的元素最后出栈,最后入栈的元素最先出栈,所以栈底元素一定是最先入栈最后出栈的元素,而栈顶元素一定是最后入栈最先出栈的元素。答案选择C选项。
4、在关系数据库中,用来表示实体间联系的是( )。
A.属性
B.维表
C.网状结构
D.树状结构
答案] B
(解析]关系数据库使用的是关系模型,用二维表来表示实体间的联系。在关系表中,每一行称为一个元组,对应表中的一条记录;每一列称为一个属性,对应表中的一个字段。网状结构和树状结构对应于实体间的逻辑关系模型。答案选择B选项
5、公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。
A.1:1联系
B.m:1联系
C.1:m联系
D.m:n联系
[答案] C
[解析]实体间的联系有如下情况: @一对一 (1: 1);@一对多 (1: m);多对多 (m: n)。本题中一个部门可以有多名职员,而每个职员只能属于一个部门,所以,部门和职员间是一对多的联系。答案选择C选项。
6、下列数据结构中,属于非线性结构的是( )
A.双向链表
B.循环链表
C.二叉链表
D循环队列
【答案】 C
【解析】 线性结构要满足两个条件:(1)有且仅有一个根结点,(2)每个结点最多有一个前驱,也最多有-个后继。线性表、栈、队列都是线性结构,循环链表和双向链表是线性表的链式存储结构,属于线性结构,只是存储结构不连续,循环队列是一个头结点和尾结点互为前驱结点和后继结点的特殊的队列,属于线性结构;二又链表是二又树的链式存储结构,因为二又树有些结点有两个后继结点,不符合线性结构的定义,所以二又链表是非线性结构。答案选择C选项。
7、在下列链表中,能够从任意一个结点出发直接访问到所有结点的是()
A.单链表
B.循环链表B.
C.双向链表
D.二又链表
[答案]B
[解析]对于线性单链表来说,每个结点只有一个指针域,这个指针只能找到其后继结点,但不能找到其前驱结点,因此必须从头指针开始,才能访问到所有的结点;循环链表的最后一个结点的指针域指向表头结点,所有结点的指针构成了一个环状链,只要指出表中任何一个结点的位置就可以从它出发访问到表中其他所有的结点;题目要求是“直接”,如果是双向链表的话,从中间一个点开始,必须先往左一次再掉头往右一次才能遍历。而循环链表只要沿一个方向一直走下去就可以遍历,二又链表是二叉树的一种链式存储结构,每个结点有两个指针域,分别指向左右子结点,二又链表只能由根结点向叶子结点的方向遍历,其他部分的结点无法访问。答案选择B选可见,
8.下列与栈结构有关联的是()
A.数组的定义域使用
B.操作系统的进程调度
C.函数的递归调用
D.选择结构的执行
[答案] C
[解析]
函数的递归调用是指函数调用函数本身,直到满足特定条件时终止,然后从最后被递归调用处返回。递归函数是通过栈来实现的,所以调用原则和栈的实现相一致。所以递归函数是通过栈来实现的。答案选择C选项
9.下面对软件特点描述不正确的是()
A,软件是一种逻辑实体,具有抽象性
B.软件开发、运行对计算机系统具有依赖性
C.软件开发涉及软件知识产权、法律及心理等社会因素
D.软件运行存在磨损和老化问题
[答案] D
(解析]软件具有以下特点:(1)软件具有抽象性,是一种逻辑实体,(2)软件没有明显的制作过程,(3)软件在使用期间不存在磨损、老化问题,对硬件和环境具有依赖性,软件复杂性高,成本昂贵;(4)软件开发涉及诸多的社会因素。D项描述是硬件存在的问题。答案选择D选项
10、下面属于黑盒测试方法的是()
A.基本路径测试
B.等价类划分B.
C.判定覆盖测试
D.语句覆盖测试
[答案] B
[解析]常用的黑盒测试方法有:(1)等价类划分法,(2)边界值分析法,(3)错误推测法,因果图等。常用的白盒测方法有:D逻辑覆盖测试,包括语句覆盖、路径覆盖、判断覆盖、条件覆盖;2基本路径测试等,ACD三项属于白盒测试答案选择B选项。