GESP 2025年3月_C++四级试卷
从PDF导入:GESP 2025年3月_C++四级试卷
试卷题目预览
关于下述代码,说法错误的是( )。

执行下述代码将输出( )。

执行下述代码后,变量a的值为( )。
int a = 10;
int* p = &a;
*p = 20
以下哪种参数传递方式可以避免拷贝大型对象?
执行下述代码,将输出( )。

下面的描述中,( )正确定义一个名为Person的结构体并正确初始化了一个Person结构体的变量p。
给定如下代码:

假设int arr[2][3] = {{1,2,3},{4,5,6}};,则arr[1][2]的值是( )。
下面( )正确定义了二维数组。
小杨正在爬楼梯,需要爬n阶才能到达楼顶。如果每次可以爬1个或2个台阶,下面代码采用递推算法来计算一共有多少种不同的方法可以爬到楼顶,则横线上应填写( )。

给定如下算法,其时间复杂度为( )。

下面关于排序稳定性的描述,正确的是( )。
对数组arr[] = {5, 3, 8, 1}进行升序排序,执行第一轮冒泡排序后数组arr中的内容为( )。
运行下面的代码,将出现( )。
double hmean(double a, double b) {
if (a == -b )
throw runtime_error("Runtime error occurred.");
return 2.0*a*b/(a + b);
}
int main() {
double x = 10;
double y = -10;
try {
int result = hmean(x, y);
cout << "hmean: " << result << endl;
}
catch (const runtime_error& e) {
cout << "Caught: " << e.what() << endl;
} catch (...) {
cout << "Caught an unknown exception." << endl;
}
return 0;
}
下面哪种方式不能实现将字符串"Happy Spring!"输出重定向到文件log.txt( )。
函数是C++中的核心概念,用于封装可重用的代码块。
在C++中,函数的返回类型可以省略,默认为int。
结构体的成员默认是public访问权限。
假设整数数组 arr[4]= {0, 1, 2, 3}; 的第一个元素在内存中的地址为 0x7ffee4065820 , 经过 int* p= arr; p += 1; 后,指针 p 的值是1。
二维数组作为函数参数时,必须显式指定所有维度的大小。
递推是一种通过已知的初始值和递推公式,逐步求解目标值的算法。
考虑最坏情况下冒泡排序算法的时间复杂度,T(n)为待排序数字的数目为n的复杂度,则其递推关系式为T(n) = T(n-1) + n,T(0) = 1。
插入排序在最好情况(已有序)下的时间复杂度是O(n²)。
对数组arr[] = {4, 3, 1, 5, 2}进行升序排序,执行第一轮选择排序后数组arr中的内容是{1, 4, 3, 5, 2}。
未捕获异常会调用std::terminate终止程序。
荒地开垦
小杨有一大片荒地,可以表示为一个n行m列的网格图。小杨想要开垦这块荒地,但荒地中一些位置存在杂物,对于一块不存在杂物的荒地,该荒地可以开垦当且仅当其上下左右四个方向相邻的格子均不存在杂物。小杨可以选择至多一个位置,清除该位置的杂物,移除杂物后该位置变为荒地。小杨想知道在清除至多一个位置的杂物的情况下,最多能够开垦多少块荒地。
第一行包含两个正整数n, m,含义如题面所示。之后n行,每行包含一个长度为m且仅包含字符.和#的字符串。如果为.,代表该位置为荒地,如果为#,代表该位置为杂物。
输出一个整数,代表在清除至多一个位置的杂物的情况下,最多能够开垦的荒地块数。
【样例输入】 3 5 ..#.. .#... #.... 【样例输出】 11 【样例解释】 移除第二行从左数第二块空地的杂物后:第一行从左数前4块荒地,第二行从左数前3块荒地,第三行从左数前4块荒地,均可开垦,4 + 3 + 4 = 11。 对于全部数据,保证有1 ≤ n, m ≤ 1000。
二阶矩阵
小A有一个n行m列的矩阵A。小A认为一个2×2的矩阵D是好的,当且仅当D₁,₁ × D₂,₂ = D₁,₂ × D₂,₁。其中Dᵢ,ⱼ表示矩阵D的第i行第j列的元素。小A想知道A中有多少个好的子矩阵。
第一行,两个正整数n, m。接下来n行,每行m个整数Aᵢ,₁, Aᵢ,₂, ..., Aᵢ,ₘ。
一行,一个整数,表示A中好的子矩阵的数量。
【样例输入】 3 4 1 2 1 0 2 4 2 1 0 3 3 0 【样例输出】 2 对于所有测试点,保证1 ≤ n ≤ 5,1 ≤ m ≤ 500,-100 ≤ Aᵢ,ⱼ ≤ 100。