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

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

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

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

A. b
B. c
C. 98
D. 99
第2题 中级 2.0分 单选
已知a为int类型变量,p为int*类型变量,下列赋值语句不符合语法的是( )。
A. +a=*p;
B. *p=+a;
C. a=*(p+a);
D. *(p+a)=a;
第3题 中级 2.0分 单选
已知数组a的定义int a[10]={0};,下列说法不正确的是( )。
A. 语句a[-1]=0;会产生编译错误。
B. 数组a的所有元素均被初始化为0。
C. 数组a至少占用10个int大小的内存,一般为40个字节。
D. 语句a[13]=0;不会产生编译错误,但会导致难以预测的运行结果。
第4题 中级 2.0分 单选
下列关于C++类的说法,错误的是( )。
A. 构造函数不能声明为虚函数,但析构函数可以。
B. 函数参数如声明为类的引用类型,调用时不会调用该类的复制构造函数。
C. 静态方法属于类、不属于对象,因此不能使用对象.方法(...)的形式调用静态方法。
D. 析构派生类的对象时,一定会调用基类的析构函数。
第5题 中级 2.0分 单选
下列关于有向图的说法,错误的是( )。
A. n个顶点的弱连通有向图,最少有n-1条边。
B. n个顶点的强连通有向图,最少有n条边。
C. n个顶点的有向图,最多有n×(n-1)条边。
D. n个顶点的有向完全图,有n×(n-1)条边。
第6题 中级 2.0分 单选
一棵二叉树的每个结点均满足:结点的左子树和右子树,要么同时存在,要么同时不存在。该树有197个结点,则其叶结点有多少个?( )
A. 98
B. 99
C. 不存在这样的树。
D. 无法确定叶结点数量。
第7题 中级 2.0分 单选
下列关于二叉树的说法,错误的是( )。
A. 二叉排序树的中序遍历顺序与元素排序的顺序是相同的。
B. n个元素的二叉排序树,其高一定为⌊log₂n⌋。
C. 自平衡二叉查找树(AVL树)是一种二叉排序树。
D. 任意的森林,都可以映射为一颗二叉树进行表达和存储。
第8题 中级 2.0分 单选
一个简单无向图有10个结点、6条边。在最差情况,至少增加多少条边可以使其连通?( )
A. 3
B. 4
C. 6
D. 9
第9题 中级 2.0分 单选
一个哈希表,包括n个位置,每个位置最多仅能存储一个元素。以下说法错误的是( )。
A. 如果哈希函数取值范围为0~(n-1),且当发生碰撞时循环向后寻找空位,则查询操作的最差时间复杂度为O(n)。
B. 如果哈希函数取值范围为0~(n-1),且当发生碰撞时仅循环向后一个位置寻找空位,则查询操作的最差时间复杂度为O(1)。
C. 如果哈希函数取值范围为0~(m-1)(m
D. 查询操作时,如果发现查询元素经哈希函数对应的位置为空位,该查询元素仍可能出现在哈希表内。
第10题 中级 2.0分 单选
以下关于动态规划的说法中,错误的是( )。
A. 动态规划方法将原问题分解为一个或多个相似的子问题。
B. 动态规划方法通常能够列出递推公式。
C. 动态规划方法有递推和递归两种实现形式。
D. 递推实现动态规划方法的时间复杂度总是不低于递归实现。
第11题 中级 2.0分 单选
下面程序的输出为( )。

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

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

A. 132
B. 1430
C. 16796
D. 结果是随机的。
第13题 中级 2.0分 单选
上题中程序的时间复杂度为( )。
A. O(N)
B. O(NlogN)
C. O(N^3/2)
D. O(N²)
第14题 中级 2.0分 单选
下面init_sieve函数的时间复杂度为( )。

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

A. 1,2,3,5,7,8,6,9,4
B. 1,4,7,8,9,5,2,3,6
C. 1,5,7,8,9,4,2,3,6
D. 1,2,3,6,9,8,5,7,4
第16题 中级 2.0分 判断
表达式5^3的结果为125。
T. 正确
F. 错误
第17题 中级 2.0分 判断
在C++语言中,函数定义和函数调用可以不在同一个文件内。
T. 正确
F. 错误
第18题 中级 2.0分 判断
在n个元素中进行二分查找,平均时间复杂度是O(logn),但须要事先进行排序。
T. 正确
F. 错误
第19题 中级 2.0分 判断
unsigned long long类型是C++语言中表达范围最大的非负整数类型之一。超出该范围的非负整数运算,将无法使用C++语言进行计算。
T. 正确
F. 错误
第20题 中级 2.0分 判断
使用math.h或cmath头文件中的函数,表达式log2(32)的结果为5、类型为int。
T. 正确
F. 错误
第21题 中级 2.0分 判断
C++是一种面向对象编程语言,C则不是。因此,使用C语言无法实现继承。
T. 正确
F. 错误
第22题 中级 2.0分 判断
邻接表和邻接矩阵都是图的存储形式。邻接表在遍历单个顶点的所有边时,时间复杂度更低;邻接矩阵在判断两个顶点之间是否有边时,时间复杂度更低。
T. 正确
F. 错误
第23题 中级 2.0分 判断
MD5是一种常见的哈希函数,曾广泛应用于数据完整性校验。中国科学家的系列工作首次发现了可实用的MD5破解方法。
T. 正确
F. 错误
第24题 中级 2.0分 判断
递归调用在运行时会由于层数过多导致程序崩溃,可以通过循环配合栈缓解这一问题。
T. 正确
F. 错误
第25题 中级 2.0分 判断
一个图中,每个顶点表达一个城市,连接两个顶点的边表达从一个城市到达另一个城市的一种交通方式。 这个图可以用来表达交通网络,且是简单有向图。
T. 正确
F. 错误
第26题 中级 25.0分 编程
商品交易

时间限制:1.0s 内存限制:512.0MB
小杨有n个商品,每个商品有一个价值vi。
小杨想把这些商品分成两组,使得两组商品的总价值尽可能接近。
求两组商品总价值差的最小值。

【输入格式】
第一行包含一个正整数n。第二行包含n个正整数v₁,...,vₙ。
【输出格式】
输出一个整数,表示两组商品总价值差的最小值。
【样例输入1】
4
1 2 3 4
【样例输出1】
0
对于全部数据,保证有1≤n≤100,1≤vi≤1000。
第27题 中级 25.0分 编程
最短路径

时间限制:1.0s 内存限制:512.0MB
小杨有一个包含n个顶点m条边的无向带权图,顶点编号为1到n。
小杨想知道从顶点1到顶点n的最短路径长度是多少。
如果不存在从顶点1到顶点n的路径,输出-1。

【输入格式】
第一行包含两个正整数n,m。接下来m行,每行三个正整数u,v,w,表示边的信息。
【输出格式】
输出一个整数,表示最短路径长度。如果不存在路径,输出-1。
【样例输入1】
4 4
1 2 1
2 3 2
3 4 3
1 4 10
【样例输出1】
6
对于全部数据,保证有1≤n≤10⁵,1≤m≤2×10⁵,1≤w≤10⁹。
💬