GESP:2026年3月 C++五级 真题及解析

四季读书网 5 0
GESP:2026年3月 C++五级 真题及解析
老师已为大家准备好电子打印版,需要完整电子版文件的朋友,可以拉到文末查看。
GESP:2026年3月 C++五级 真题及解析-第1张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第2张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第3张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第4张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第5张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第6张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第7张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第8张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第9张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第10张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第11张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第12张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第13张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第14张图片-四季读书网

【答案解析】

1.解释:答案选D。

详细解析见下图——

GESP:2026年3月 C++五级 真题及解析-第15张图片-四季读书网

2.解释:答案选C。

详细解析见下图——

GESP:2026年3月 C++五级 真题及解析-第16张图片-四季读书网

3.解释:答案选B。

详细解析见下图——
GESP:2026年3月 C++五级 真题及解析-第17张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第18张图片-四季读书网
相关知识点的复习与拓展:

截至考试当年3月份,有关C++语言中"哑节点"应用的注意事项,罗列如下图所示:

GESP:2026年3月 C++五级 真题及解析-第19张图片-四季读书网

4.解释:答案选A。

详细解析见下图——

GESP:2026年3月 C++五级 真题及解析-第20张图片-四季读书网

5.解释:答案选C。

详细解析见下图——

GESP:2026年3月 C++五级 真题及解析-第21张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第22张图片-四季读书网

6.解释:答案选C。

详细解析见下图——
GESP:2026年3月 C++五级 真题及解析-第23张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第24张图片-四季读书网
7.解释:答案选B。
详细解析见下图——
GESP:2026年3月 C++五级 真题及解析-第25张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第26张图片-四季读书网
8.解释:答案选A。
详细解析见下图——
GESP:2026年3月 C++五级 真题及解析-第27张图片-四季读书网
9.解释:答案选D。
详细解析如下——
选项‌A:递归调用层次过深时,每次调用都会在栈中压入栈帧,累计超出栈的有限容量就会耗尽栈空间导致栈溢出(Stack Overflow),该说法正确。
选项‌B:尾递归是指函数的最后一步操作就是递归调用自身(返回值不参与后续运算)。这种情况下,当前函数的栈帧已经没有保留价值,编译器/解释器可以通过尾递归优化(Tail Call Optimization, TCO)将其复用或改写为跳转/循环结构,从而不再消耗新的栈空间,避免栈溢出。符合条件的尾递归函数,编译器可以通过尾调用优化,直接复用当前栈帧而不新增栈帧,从而避免栈溢出,该说法正确。
选项‌C:所有递归函数都可以通过循环改写,对于简单尾递归可直接转为普通循环,复杂非尾递归可借助显式栈模拟递归逻辑,完全脱离系统调用栈的限制,从而避免栈溢出,该说法正确。
选项‌D:栈溢出属于严重的运行时错误,发生后程序会直接崩溃终止,无法继续执行后续代码,常规异常处理机制也无法兜底恢复,该说法错误。

10.解释:答案选A。

详细解析见下图——
GESP:2026年3月 C++五级 真题及解析-第28张图片-四季读书网
相关知识点的复习与拓展:
GESP:2026年3月 C++五级 真题及解析-第29张图片-四季读书网
11.解释:答案选B。
详细解析见下图——
GESP:2026年3月 C++五级 真题及解析-第30张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第31张图片-四季读书网

相关知识点的复习与拓展:

截至考试当年3月,有关主定理(Master Theorem)的相关知识点,简单罗列如下——

GESP:2026年3月 C++五级 真题及解析-第32张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第33张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第34张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第35张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第36张图片-四季读书网
12.解释:答案选B。
详细解析见下图——
GESP:2026年3月 C++五级 真题及解析-第37张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第38张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第39张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第40张图片-四季读书网
13.解释:答案选C。
详细解析如下——
GESP:2026年3月 C++五级 真题及解析-第41张图片-四季读书网
14.解释:答案选B。

详细解析见下图——

GESP:2026年3月 C++五级 真题及解析-第42张图片-四季读书网

相关知识点的复习与拓展:

截至考试当年3月,有关十大经典排序算法的特点对比,可以参考下图帮助记忆——
GESP:2026年3月 C++五级 真题及解析-第43张图片-四季读书网

15.解释:答案选B。

详细解析见下图——GESP:2026年3月 C++五级 真题及解析-第44张图片-四季读书网

GESP:2026年3月 C++五级 真题及解析-第45张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第46张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第47张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第48张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第49张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第50张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第51张图片-四季读书网

【答案解析】

1.解释:正确。

详细解析见下图——

GESP:2026年3月 C++五级 真题及解析-第52张图片-四季读书网
2.解释:正确。

详细解析见下图——

GESP:2026年3月 C++五级 真题及解析-第53张图片-四季读书网

3.解释:错误。

详细解析如下——

1. 稳定排序定义:排序后,相等元素的相对先后顺序保持不变。

2. 快速排序的本质:快排是"不稳定排序",和选哪个元素做枢轴无关。

哪怕每次选中间元素当 pivot,在划分(partition)过程中,会把小于枢轴、大于枢轴的元素交换,相等元素的相对位置仍然可能被打乱。

举个例子直观理解

数组:[2a, 2b, 1],选中间元素 2b 作为枢轴,划分后交换得到:[1, 2b, 2a];两个值都是 2,原来 2a 在 2b 前面,排序之后顺序颠倒,不稳定。

 核心结论——

● 稳定性由排序算法的元素交换逻辑决定,不是由枢轴选择策略决定。快速排序无论怎么选枢轴,都不能变成稳定排序。

● 稳定排序:归并排序、插入排序、冒泡排序;

● 不稳定排序:快排、堆排、简单选择排序。

相关知识点的复习与拓展:

截至考试当年3月,有关十大经典排序算法的特点对比,可以参考下图帮助记忆——
GESP:2026年3月 C++五级 真题及解析-第54张图片-四季读书网

4.解释:正确。

详细解析见下图——

GESP:2026年3月 C++五级 真题及解析-第55张图片-四季读书网

相关知识点的复习与拓展:

截至考试当年3月,有关主定理(Master Theorem)的相关知识点,简单罗列如下——

GESP:2026年3月 C++五级 真题及解析-第56张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第57张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第58张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第59张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第60张图片-四季读书网

5.解释:错误。

详细解析见下图——

GESP:2026年3月 C++五级 真题及解析-第61张图片-四季读书网
相关知识点的复习与拓展:

建议将题干中代码修改如下——

long long cnt = 0;voidmerge_count(vector<int>& a, int l, int r){    if (l >= r) return;    int m = (l + r) / 2;    merge_count(a, l, m);    merge_count(a, m + 1, r);    int i = l, j = m + 1, k = 0;    vector<int> tmp(r - l + 1);    while (i <= m && j <= r) {        if (a[i] <= a[j]) {            tmp[k++] = a[i++];        } else {            cnt += (m - i + 1);   // a[i..m] 都 > a[j]            tmp[k++] = a[j++];        }    }    while (i <= m) tmp[k++] = a[i++];    while (j <= r) tmp[k++] = a[j++];    for (int p = l; p <= r; p++) a[p] = tmp[p - l];}

6.解释:正确。

详细解析见下图——

GESP:2026年3月 C++五级 真题及解析-第62张图片-四季读书网

7.解释:正确。

详细解析见下图——

GESP:2026年3月 C++五级 真题及解析-第63张图片-四季读书网

8.解释:错误。

详细解析见下图——

GESP:2026年3月 C++五级 真题及解析-第64张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第65张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第66张图片-四季读书网

9.解释:错误。

详细解析见下图——

GESP:2026年3月 C++五级 真题及解析-第67张图片-四季读书网

10.解释:错误。

详细解析见下图——

GESP:2026年3月 C++五级 真题及解析-第68张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第69张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第70张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第71张图片-四季读书网

GESP 2026年3月 C++五级 有限不循环小数

#include<iostream>using namespace std;/** * 判断一个数是否为“终止数” * 根据题目样例推断,“终止数”是指质因数只包含 2 和 5 的正整数。 * 例如:2, 4, 5, 8, 10 等。 *  * @param x 待判断的正整数 * @return true 如果是终止数,否则返回 false */boolisTerminating(int x){    // 如果数字小于等于0,直接返回 false(根据题意 L >= 1,此判断为防御性编程)    if (x <= 0) return false;    // 不断将 x 除以 2,直到不能整除为止    // 这一步是为了消除 x 中所有的质因数 2    while (x % 2 == 0) {        x /= 2;    }    // 不断将 x 除以 5,直到不能整除为止    // 这一步是为了消除 x 中所有的质因数 5    while (x % 5 == 0) {        x /= 5;    }    // 经过上述两步后,如果 x 变成了 1,    // 说明原数的质因数只包含 2 和 5,符合“终止数”的定义。    // 如果 x 不等于 1,说明原数还包含其他质因数(如 3, 7, 11 等),不是终止数。    return x == 1;}intmain(){    int L, R;    // 从标准输入读取两个整数 L 和 R,代表区间的左右边界    // 如果读取成功,则进入 if 语句块    if (cin >> L >> R) {        int count = 0; // 用于记录区间 [L, R] 内“终止数”的个数        // 遍历区间 [L, R] 内的每一个整数        for (int i = L; i <= R; ++i) {            // 调用 isTerminating 函数判断当前数字 i 是否为终止数            if (isTerminating(i)) {                count++; // 如果是,计数器加 1            }        }        // 输出最终统计的数量,并换行        cout << count << endl;    }    return 0; // 程序正常结束}
代码思路——
GESP:2026年3月 C++五级 真题及解析-第72张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第73张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第74张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第75张图片-四季读书网

GESP 2026年3月 C++五级 找数

#include<bits/stdc++.h>// 万能头文件,含 unordered_set / sort / vector 等using namespace std;intmain(){    // 关闭cin与stdio同步,加速cin输入速度    ios::sync_with_stdio(false);    // 解绑cin与cout,避免cout刷新拖慢cin读取    cin.tie(nullptr);    int n, m;    cin >> n >> m;   // n = 数组 A 长度,m = 数组 B 长度    // ========== 1. 把 A 中所有元素放入哈希集合 ==========    // 用 long long:虽然本题数值 <= 1e9 在 int 范围内,但养成习惯更安全    unordered_set<long long> st;    st.reserve(n * 2);        // 预分配桶空间,减少 rehash 次数,防止被卡常数    st.max_load_factor(0.7);  // 降低装载因子,进一步降低哈希冲突概率    for (int i = 0; i < n; ++i) {        long long x;        cin >> x;        st.insert(x);         // 插入 A 的元素(题目保证 A 内元素互不相同)    }    // ========== 2. 遍历 B,统计有多少个出现在 A 中 ==========    int ans = 0;    for (int i = 0; i < m; ++i) {        long long x;        cin >> x;        // find 返回迭代器;若不等于 end() 说明 x 在集合里,即两数组共有        if (st.find(x) != st.end()) {            ++ans;        }        // 更简洁写法:ans += st.count(x); (count 对 set 只会返回 0 或 1)    }    // ========== 3. 输出答案 ==========    cout << ans << '\n';    return 0;}

代码思路——

GESP:2026年3月 C++五级 真题及解析-第76张图片-四季读书网
GESP:2026年3月 C++五级 真题及解析-第77张图片-四季读书网

课程体系——

GESP:2026年3月 C++五级 真题及解析-第78张图片-四季读书网
需要无水印PDF格式文件,
或者课程体系咨询,
欢迎扫描下面二维码添加好友垂询。
GESP:2026年3月 C++五级 真题及解析-第79张图片-四季读书网

GESP:2026年3月 C++五级 真题及解析-第80张图片-四季读书网

▍ 声明:本文整理自网络,如有侵权,请联系删除。

本公号刊载此文,是出于合法合理地分享和传播信息,扩大大受众范围,促进学术交流,推动共同进步之目的。公众号持有人郑重声明,本文的发布,将严格遵守相关规定和法律法规,不侵犯任意潜在作者的权益,不改变引用原文(若有)的意图和内容。若有来源标注错误或侵犯了您的合法权益,请随时与我们联系协商,联系(QQ):993225721,我们将及时更正、删除。文章若有幸得到转载,首先,公众号持有人感谢转载人为读者阅读提供了有价值的信息和知识,希望文章能够在被转载的平台上得到更广泛的传播和交流;其次,转载人应充分考虑到转载动作本身所可能带来的相应的风险和责任,包括但不限于侵犯知识产权、侵犯他人权益等行为所引起的法律责任,确保本文的合法传播和使用。同时,本人也极其愿意在转载过程中尽力配合转载人了解、关注、规避、消除相关的潜在风险。若转载人有相任何关疑虑,同样欢迎随时与我们联系协商,联系(QQ):993225721。

喜欢您关注我们哦——

抱歉,评论功能暂时关闭!