GESP 2023年12月_C++六级试卷

从PDF导入:GESP 2023年12月_C++六级试卷

C++ 180分钟 总分 100.0 27 题
试卷题目预览
第1题 中级 2.0分 单选
关于C++类和对象的说法,错误的是( )。
A. 在C++中,一切皆对象,即便是字面量如整数5等也是对象
B. 在C++中,可以自定义新的类,并实例化为新的对象
C. 在C++中,内置函数和自定义函数,都是类或者对象
D. 在C++中,可以在自定义函数中嵌套定义新的函数
第2题 中级 2.0分 单选
有关下面C++代码的说法,错误的是( )。(代码中Point是内部类,Rectangle是外部类)
A. C++中类内部可以嵌套定义类
B. 在类中定义的类被称为内部类,定义类的类被称为外部类
C. 内部类可以随便访问,不需要通过外部类来访问
D. 代码中Point被称为内部类,可以通过外部类Rectangle来访问,Rectangle::Point
第3题 中级 2.0分 单选
有关下面C++代码的说法,正确的是( )。(涉及静态成员变量objCounter的使用)
A. 第14行代码错误,第15行正确
B. 第15行代码错误,第14行代码正确
C. 第14、15两行代码都正确
D. 第6行代码可修改为objCounter += 1
第4题 中级 2.0分 单选
有关下面C++代码的说法,错误的是( )。(涉及二叉树类的定义)
A. 上列C++代码适用于构造各种二叉树
B. 代码struct BiNode用于构造二叉树的节点
C. 代码BiTree(){root=Creat();}用于构造二叉树
D. 析构函数不可以省略
第5题 中级 2.0分 单选
基于第4题的定义,有关下面C++代码的说法正确的是( )。(Order函数)
A. 代码中Order()函数是中序遍历二叉树的方法
B. 代码中Order()先访问根节点,然后对左子树进行前序遍历,再对右子树前序遍历
C. 代码中Order()先中序遍历左子树,然后访问根节点,最后中序遍历右子树
D. 代码中Order()先后序遍历左子树,然后后序遍历右子树,最后访问根节点
第6题 中级 2.0分 单选
有关下面C++代码的说法正确的是( )。(链表节点定义)
A. 上述代码构成单向链表
B. 上述代码构成双向链表
C. 上述代码构成循环链表
D. 上述代码构成指针链表
第7题 中级 2.0分 单选
对"hello world"使用霍夫曼编码(Huffman Coding),最少bit(比特)为( )。
A. 4
B. 32
C. 64
D. 88
第8题 中级 2.0分 单选
下面的fiboA()和fiboB()两个函数分别实现斐波那契数列,该数列第1、第2项值为1,其余各项分别为前两项之和。下面有关说法错误的是( )。
A. fiboA()采用递归方式实现斐波那契数列
B. fiboB()采用动态规划算法实现斐波那契数列
C. 当N值较大时,fiboA()存在大量重复计算
D. 由于fiboA()代码较短,其执行效率较高
第9题 中级 2.0分 单选
有关下面C++代码不正确的说法是( )。(Depth函数计算二叉树深度)
A. 该代码可用于求解二叉树的深度
B. 代码中函数Depth()的参数T表示根节点,非根节点不可以作为参数
C. 代码中函数Depth()采用了递归方法
D. 代码中函数Depth()可用于求解各种形式的二叉树深度,要求该二叉树节点至少有left和right属性
第10题 中级 2.0分 单选
下面有关树的存储,错误的是( )。
A. 完全二叉树可以用list存储
B. 一般二叉树都可以用list存储,空子树位置可以用None表示
C. 满二叉树可以用list存储
D. 树数据结构,都可以用list存储
第11题 中级 2.0分 单选
构造二叉树[1,2,3,null,4]( )。
A. 1(2()(4))(3)
B. 1(2(3)())(4)
C. (1,2(3),(4))
D. (1,(2)(3),(4))
第12题 中级 2.0分 单选
下面有关布尔类型的函数的说法,正确的是( )。
A. bool类型函数只能返回0或者1两种值
B. bool类型函数可以返回任何整数值
C. bool类型函数必须有参数传递
D. bool类型函数没有返回值
第13题 中级 2.0分 单选
通讯卫星在通信网络系统中主要起到( )的作用。
A. 信息过滤
B. 信号中继
C. 避免攻击
D. 数据加密
第14题 中级 2.0分 单选
小杨想编写一个判断任意输入的整数N是否为素数的程序,下面哪个方法不合适?( )
A. 埃拉筛法
B. 线性筛法
C. 二分答案
D. 枚举法
第15题 中级 2.0分 单选
内排序有不同的类别,下面哪种排序算法和冒泡排序是同一类?( )
A. 希尔排序
B. 快速排序
C. 堆排序
D. 插入排序
第16题 中级 2.0分 判断
在面向对象中,方法在C++的class中表现为class内定义的函数。
T. 正确
F. 错误
第17题 中级 2.0分 判断
C++类的定义中,可以没有构造函数,会给出默认的构造函数。
T. 正确
F. 错误
第18题 中级 2.0分 判断
如果某个C++对象(object)支持下标运算符(方括号运算符),则该对象在所对应class中以成员函数的形式进行了重载。
T. 正确
F. 错误
第19题 中级 2.0分 判断
深度优先搜索(DFS,Depth First Search的简写)属于图算法,其过程是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。
T. 正确
F. 错误
第20题 中级 2.0分 判断
哈夫曼编码(Huffman Coding)具有唯一性,因此有确定的压缩率。
T. 正确
F. 错误
第21题 中级 2.0分 判断
在下面C++代码中,由于删除了变量ptr,因此ptr所对应的数据也随之删除,故第8行代码被执行时,将报错。
T. 正确
F. 错误
第22题 中级 2.0分 判断
二叉搜索树查找的平均时间复杂度为O(log n)。
T. 正确
F. 错误
第23题 中级 2.0分 判断
二叉搜索树可以是空树(没有任何节点)或者单节点树(只有一个节点),或者多节点。如果是多节点,则左节点的值小于父节点的值,右节点的值大于父节点的值,由此推理,右节
T. 正确
F. 错误
第24题 中级 2.0分 判断
小杨想写一个程序来算出正整数N有多少个因数,经过思考他写出了一个重复没有超过N/2次的循环就能够算出来了。
T. 正确
F. 错误
第25题 中级 2.0分 判断
同样的整数序列分别保存在单链表和双向链中,这两种链表上的简单冒泡排序的复杂度相同。
T. 正确
F. 错误
第26题 中级 25.0分 编程
闯关游戏

你来到了一个闯关游戏。这个游戏总共有n关,每关都有m个通道,你需要选择一个通道并通往后续关卡。其中,第i个通道可以让你前进a_i关,也就是说,如果你现在在第k关,那么选择第i个通道后,你将直接来到第k+a_i关(特别地,如果k+a_i≥n,那么你就通关了)。此外,当你顺利离开第k关时,你还将获得b_k分。游戏开始时,你在第0关。请问,你通关时最多能获得多少总分?

【输入格式】
第一行两个整数n,m,分别表示关卡数量和每关的通道数量。
接下来一行m个用单个空格隔开的整数a_1~a_m。保证a_i≥1。
接下来一行n个用单个空格隔开的整数b_0~b_{n-1}。保证|b_i|≤1000。
【输出格式】
一行一个整数,表示你通关时最多能够获得的分数。
【样例输入1】

6 2
2 3
1 0 30 100 30 30
【样例输出1】

131
【样例解释1】

你可以在第0关选择第1个通道,获得1分并来到第2关;随后再选择第2个通道,获得30分并来到第5关;最后任选一个通道,都可以获得30分并通关。如此,总得分为1+30+30=131。
【样例输入2】

6 2
2 3
1 0 30 100 30 -1
【样例输出2】

101
【样例解释2】

请注意,一些关卡的得分可能是负数。
对于所有测试点,保证2≤n≤10000,1≤m≤100,1≤a_i≤n,|b_i|≤1000。
第27题 中级 25.0分 编程
工作沟通

某公司有n名员工,编号从0至n-1。其中,除了0号员工是老板,其余每名员工都有一个直接领导。我们假设编号为i的员工的直接领导是fa_i。该公司有严格的管理制度,每位员工只能受到本人或本人直接领导或间接领导的管理。具体来说,规定员工x可以管理员工y,当且仅当x=y,或fa_x=y,或x可以管理fa_y。特别地,0号员工老板只能自我管理,无法由其他任何员工管理。现在,有一些同事要开展合作,他们希望找到一位同事来主持这场合作,这位同事必须能够管理参与合作的所有同事。如果有多名满足这一条件的员工,他们希望找到编号最大的员工。你能帮帮他们吗?

【输入格式】
第一行一个整数n,表示员工的数量。
第二行n-1个用空格隔开的正整数,依次为fa_1~fa_{n-1}。
第三行一个整数q,表示共有q场合作需要安排。
接下来q行,每行描述一场合作:开头是一个整数k(1≤k≤n),表示参与本次合作的员工数量;接着是k个整数,依次表示参与本次合作的员工编号(保证编号合法且不重复)。
【输出格式】
输出q行,每行一个整数,依次为每场合作的主持人选。
【样例输入1】

<img src="/static/uploads/images/ad78ed00cb.png" style="max-width:35%;border-radius:6px;margin:8px 0;" />
【样例输出1】

2
2
0
【样例解释1】

对于第一场合作,员工3,4有共同领导2,可以主持合作。
对于第二场合作,员工2本人即可以管理所有参与者。
对于第三场合作,只有0号老板才能管理所有员工。
对于所有测试点,保证1≤n≤300,1≤q≤300,1≤k≤n。
💬