GESP:2025年9月 C++四级 真题及解析

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

【答案解析】

1.解释:答案选B。
详细解析见下图——
GESP:2025年9月 C++四级 真题及解析 第10张
2.解释:答案选C。
本题的官方答案为选项C,但是存在争议(选项A也有表述不严谨的地方),详细解析见下图——
GESP:2025年9月 C++四级 真题及解析 第11张
GESP:2025年9月 C++四级 真题及解析 第12张
相关知识点的复习与拓展:
截至考试当年9月,有关"数组名作为函数参数传入退化为指针"这一表述,可以参考下图加深理解——
GESP:2025年9月 C++四级 真题及解析 第13张
GESP:2025年9月 C++四级 真题及解析 第14张
GESP:2025年9月 C++四级 真题及解析 第15张
GESP:2025年9月 C++四级 真题及解析 第16张
3.解释:答案选D。

详细解析见下图——

GESP:2025年9月 C++四级 真题及解析 第17张

4.解释:答案选A。

详细解析见下图——

GESP:2025年9月 C++四级 真题及解析 第18张

5.解释:答案选D。

详细解析见下图——

GESP:2025年9月 C++四级 真题及解析 第19张

6.解释:答案选C。

详细解析见下图——
GESP:2025年9月 C++四级 真题及解析 第20张

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

截至考试当年9月,关于指针传递/地址传递值传递的区别,可以参考下面视频所示,加深理解——
已关注
关注
重播 分享

7.解释:答案选B。

选项A:Point p = (1,2); ,这里的 (1,2) 是逗号表达式,结果是最后一个值 2 ,相当于只给 p.x 赋值为 2 ,p.y 会被默认初始化(全局变量为0,局部变量为随机值),不符合同时初始化两个成员的需求,写法错误。
选项B:Point p = {1,2}; ,这是C++中结构体初始化的标准写法,使用大括号按成员顺序依次初始化,p.x 会被赋值为 1 ,p.y 会被赋值为 2 ,写法正确
选项C:Point p = new {1,2}; ,new 运算符用于在堆上分配内存,返回的是指向对象的指针,应该写成 Point* p = new Point{1,2}; ,直接赋值给结构体变量 p 是类型不匹配的,写法错误。
选项D:Point p = <1,2>; ,尖括号<>在C++中常用于模板参数,不能用来初始化结构体成员,写法错误。
8.解释:答案选B。
详细解析见下图——
GESP:2025年9月 C++四级 真题及解析 第21张
9.解释:答案选C。
详细解析见下图——
GESP:2025年9月 C++四级 真题及解析 第22张

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

截至考试当年9月,有关十大经典排序算法的特点对比,可以参考下图帮助记忆——

GESP:2025年9月 C++四级 真题及解析 第23张
10.解释:答案选A。
详细解析见下图——
GESP:2025年9月 C++四级 真题及解析 第24张

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

截至考试当年9月,有关选择排序的实现原理,可以参考下面视频,加深理解——
已关注
关注
重播 分享
11.解释:答案选A。
详细解析见下图——
GESP:2025年9月 C++四级 真题及解析 第25张
相关知识点的复习与拓展:
截至考试当年9月,有关插入排序的实现原理,可以参考下面视频,加深理解——
已关注
关注
重播 分享
12.解释:答案选B。
详细解析见下图——
GESP:2025年9月 C++四级 真题及解析 第26张

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

截至考试当年9月,有关十大经典排序算法的特点对比,可以参考下图帮助记忆——

GESP:2025年9月 C++四级 真题及解析 第27张
13.解释:答案选B。
详细解析见下图——
GESP:2025年9月 C++四级 真题及解析 第28张
14.解释:答案选C。

详细解析见下图——

GESP:2025年9月 C++四级 真题及解析 第29张

15.解释:答案选D。

详细解析见下图——

GESP:2025年9月 C++四级 真题及解析 第30张
GESP:2025年9月 C++四级 真题及解析 第31张
GESP:2025年9月 C++四级 真题及解析 第32张
GESP:2025年9月 C++四级 真题及解析 第33张

【答案解析】

1.解释:错误

详细解析见下图——

GESP:2025年9月 C++四级 真题及解析 第34张

2.解释:错误。

详细解析见下图——

GESP:2025年9月 C++四级 真题及解析 第35张

3.解释:正确。

详细解析见下图——

GESP:2025年9月 C++四级 真题及解析 第36张

4.解释:正确。

详细解析见下图——

GESP:2025年9月 C++四级 真题及解析 第37张

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

截至考试当年9月,关于指针传递/地址传递值传递的区别,可以参考下面视频所示,加深理解——
已关注
关注
重播 分享

5.解释:错误。

详细解析见下图——

GESP:2025年9月 C++四级 真题及解析 第38张

6.解释:正确。

详细解析见下图——

GESP:2025年9月 C++四级 真题及解析 第39张
7.解释:正确。

详细解析见下图——

GESP:2025年9月 C++四级 真题及解析 第40张

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

截至考试当年9月,有关插入排序的实现原理,可以参考下面视频,加深理解——
已关注
关注
重播 分享
截至考试当年9月,有关十大经典排序算法的特点对比,可以参考下图帮助记忆——
GESP:2025年9月 C++四级 真题及解析 第41张

8.解释:错误

详细解析见下图——

GESP:2025年9月 C++四级 真题及解析 第42张

9.解释:错误

在C++中,catch(...) 是一个通配符捕获,它可以捕获任何类型的异常,而不仅仅是 int 类型。题目中"只能捕获 int 类型异常"的表述是错误的。

10.解释:错误。

详细解析见下图——

GESP:2025年9月 C++四级 真题及解析 第43张
GESP:2025年9月 C++四级 真题及解析 第44张
GESP:2025年9月 C++四级 真题及解析 第45张

GESP 2025年9月 C++四级 排兵布阵

#include<bits/stdc++.h>using namespace std;int m,n;int a[105][105];int ans=0;//计算bx(开始行),by(开始列),ex(结束行),ey(结束列)//范围是否都可以排兵 boolf(int bx,intby,int ex,int ey){    for(int i=bx;i<=ex;i++){        for(int j=by;j<=ey;j++){            if (a[i][j]==0){                return 0;            }        }    }    return 1;}intmain(){    cin>>m>>n;    for(int i=1;i<=m;i++){        for(int j=1;j<=n;j++){            cin>>a[i][j];        }    }    for(int i=1;i<=m;i++){//枚举矩形左上角行        for(int j=1;j<=n;j++){//枚举矩形左上角列            for(int k=i;k<=m;k++){//枚举矩形右下角行                for(int l=j;l<=n;l++){//枚举矩形右下角列                    if (f(i,j,k,l)){//若符合条件                         ans=max(ans,(k-i+1)*(l-j+1));//求面积的最大值                     }                }            }        }    }    cout<<ans;    return 0;}
代码思路——
对于数据范围不是非常夸张的题目,直接暴力枚举是比较简单粗暴且非常节约时间的应试策略。
GESP:2025年9月 C++四级 真题及解析 第46张
GESP:2025年9月 C++四级 真题及解析 第47张
GESP:2025年9月 C++四级 真题及解析 第48张

GESP 2025年9月 C++四级 最长连续段

#include<bits/stdc++.h>using namespace std;int n;int arr[100005];int ans=1;intmain(){    cin>>n;    for(int i=1;i<=n;i++){        cin>>arr[i];    }    sort(arr+1,arr+n+1);//排序     int m=1;    for(int i=2;i<=n;i++){        if (arr[i]==arr[i-1]){//跟上一个数相等,跳过(相当于去重)            continue;        }        else if(arr[i]==arr[i-1]+1){//连上了,就增加一个            m++;        }        else{//连不上,重新开头            m=1;        }        ans=max(ans,m);//取最大值    }    cout<<ans;return 0;}
代码思路——
GESP:2025年9月 C++四级 真题及解析 第49张
GESP:2025年9月 C++四级 真题及解析 第50张

课程体系——

GESP:2025年9月 C++四级 真题及解析 第51张
需要无水印PDF格式文件,
或者课程体系咨询,
欢迎扫描下面二维码添加好友垂询。
GESP:2025年9月 C++四级 真题及解析 第52张

GESP:2025年9月 C++四级 真题及解析 第53张

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

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

喜欢您关注我们哦——

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