GESP 2024年9月_C++七级试卷

从PDF导入:GESP 2024年9月_C++七级试卷

C++ 180分钟 总分 100.0 27 题
试卷题目预览
第1题 中级 2.0分 单选
已知小写字母b的ASCII码为98,下列C++代码的输出结果是( )。

#include
using namespace std;
int main() {
char a = 'b';
a++;
cout << a;
return 0;
}

A. b
B. c
C. 98
D. 99
第2题 中级 2.0分 单选
已知a为int类型变量,下列表达式不符合语法的是( )。
A. &a+3
B. +a&3
C. a--4
D. a++3
第3题 中级 2.0分 单选
下列关于C++语言中指针的叙述,不正确的是( )。
A. 指针变量中存储的是内存地址。
B. 指针变量指向的内存地址不一定能够合法访问。
C. 结构类型中的指针成员不能指向该结构类型。
D. 定义指针变量时必须指定其指向的类型。
第4题 中级 2.0分 单选
下列关于C++类的说法,错误的是( )。
A. 将C++类对象通过值传递给函数参数时,会自动调用复制构造函数。
B. 将一个类的对象赋值给该类的另一个对象时,不会自动调用构造函数。
C. 定义C++类对象时,一定会调用默认构造函数。
D. 构造派生类的对象时,一定会调用基类的构造函数。
第5题 中级 2.0分 单选
某二叉树T的先序遍历序列为:{ABDCEGHF},中序遍历序列为:{DBAHGECF},则下列说法中正确的是( )。
A. T的高为5
B. T有4个叶节点
C. T是平衡树
D. 以上说法都不对
第6题 中级 2.0分 单选
一棵完全二叉树有431个结点,则叶结点有多少个?( )
A. 176
B. 215
C. 216
D. 255
第7题 中级 2.0分 单选
下列关于树的说法,错误的是( )。
A. 二叉树的中序遍历与其深度优先遍历总是相同的。
B. 所有树都可以构造一颗二叉树与之一一对应。
C. 如果树的一个叶结点有两个不同的祖先结点,那么其中一个一定是另一个的祖先结点。
D. 树的结点不能有两个父结点。
第8题 中级 2.0分 单选
一个简单无向图有10个结点、30条边。再增加多少条边可以成为完全图。( )
A. 10
B. 15
C. 51
D. 60
第9题 中级 2.0分 单选
以下哪个方案可以合理解决或缓解哈希表冲突( )。
A. 丢弃发生冲突的新元素。
B. 用新元素覆盖发生冲突的元素。
C. 用新元素覆盖在冲突位置的下一个位置。
D. 将新元素放置在冲突位置之后的第一个空位。
第10题 中级 2.0分 单选
一个迷宫,已知从起点不经过重复结点到达终点的路径有且仅有一条,则下面说法错误的是( )。
A. 可以使用深度优先搜索找到这条路径。
B. 可以使用广度优先搜索找到这条路径。
C. 该迷宫内与起点连通的结点,一定也与终点连通。
D. 该迷宫内与起点连通的结点及它们之间的路径可以抽象为无向无环图。
第11题 中级 2.0分 单选
下面程序的输出为( )。

#include
#include
using namespace std;
int main() {
cout << (int)log(8) << endl;
return 0;
}

A. 2
B. 3
C. 8
D. 无法通过编译。
第12题 中级 2.0分 单选
下面程序的输出为( )。

A. 84
B. 495
C. 1012
D. 结果是随机的。
第13题 中级 2.0分 单选
上题中程序的时间复杂度为( )。
A. O(1)
B. O(N)
C. O(NlogN)
D. O(N²)
第14题 中级 2.0分 单选
下面fib函数的时间复杂度为( )。

A. O(n)
B. O(n²)
C. O(2^n)
D. 无法正常结束。
第15题 中级 2.0分 单选
下列选项中,哪个可能是下图的广度优先遍历序列( )。

A. 1,3,5,7,4,2,6,8,9
B. 9,4,2,1,3,7,5,6,8
C. 1,3,5,7,6,8,9,4,2
D. 9,4,7,2,1,3,5,6,8
第16题 中级 2.0分 判断
表达式'a'<<1的结果为'a'。
T. 正确
F. 错误
第17题 中级 2.0分 判断
在C++语言中,函数可以定义在另一个函数定义之内。
T. 正确
F. 错误
第18题 中级 2.0分 判断
选择排序一般是不稳定的。
T. 正确
F. 错误
第19题 中级 2.0分 判断
埃氏筛法和欧拉筛法都是使用筛法思想生成素数表的算法,欧拉筛法的时间复杂度更低。
T. 正确
F. 错误
第20题 中级 2.0分 判断
使用math.h或cmath头文件中的正弦函数,表达式sin(30)的结果类型为double、值约为0.5。
T. 正确
F. 错误
第21题 中级 2.0分 判断
一颗N层的完全二叉树,一定有2N-1个结点。
T. 正确
F. 错误
第22题 中级 2.0分 判断
一个图,不管是否连通,都可以使用深度优先搜索算法进行遍历。
T. 正确
F. 错误
第23题 中级 2.0分 判断
某个哈希表键值x为整数,H(x)=x%p是常用的哈希函数之一,要求p选择素数是因为这样不会产生冲突。
T. 正确
F. 错误
第24题 中级 2.0分 判断
使用单链表实现队列时,链表头结点作为队首比链表头结点作为队尾更便于操作。
T. 正确
F. 错误
第25题 中级 2.0分 判断
一个图中,每个结点表达一个人,连接两个结点的边表达两个结点对应的人相互认识,则这个图可以用来表达社交网络。
T. 正确
F. 错误
第26题 中级 25.0分 编程
小杨寻宝

时间限制:1.0s 内存限制:512.0MB
小杨有一棵包含n个节点的树,树上的一些节点放置有宝物。
小杨可以任意选择一个节点作为起点并在树上移动,但是小杨只能经过每条边至多一次,当小杨经过一条边后,这条边就会消失。
小杨每经过一个放置有宝物的节点就会取得该宝物。
小杨想请你帮他判断自己能否成功取得所有宝物。

【输入格式】
第一行包含一个正整数t,代表测试用例组数。接下来是t组测试用例。每组测试用例第一行包含n,第二行包含n个非负整数a₁,...,aₙ,之后n-1行描述边。
【输出格式】
对于每组测试数据,如果小杨能成功取得所有宝物,输出Yes,否则输出No。
【样例输入1】
1
4
1 1 1 1
1 2
1 3
3 4
【样例输出1】
Yes
对于全部数据,保证有1≤t≤10,1≤n≤10⁵,0≤ai≤1。
第27题 中级 25.0分 编程
矩阵移动

时间限制:1.0s 内存限制:512.0MB
小杨有一个有一个n×m的矩阵,仅包含01?三种字符。
小杨开始在矩阵的左上角(1,1),小杨只能向下或者向右移动,最终到达右下角(n,m)时停止。
在移动的过程中每经过一个字符1得分会增加一分(包括起点和终点),经过其它字符则分数不变。
小杨可以将矩阵中不超过k个字符?变为字符1。小杨想知道自己最多能获得多少分。

【输入格式】
第一行包含正整数t。接下来t组测试用例。每组第一行包含n,m,k,之后n行每行一个长度为m的字符串。
【输出格式】
对于每组测试用例,输出一行一个整数,代表最优策略下小杨的得分最多是多少。
【样例输入1】
2
3 3 1
000
111
01?
3 3 1
000
?0?
01?
【样例输出1】
4
4
对于全部数据,保证有1≤t≤10,1≤n,m≤500,1≤k≤300。
💬