2025年12月GESPC++四级真题解析(含视频)

2025年12月GESPC++四级真题解析(含视频)

  视频讲解:GESP2025年12月四级C++真题讲解

一、单选题

第1题

解析:

答案C,创建指针 " int *p "。获取x变量的地址  " &x "

第2题

解析:

答案C,

int a = 5; //a变量存储5 int* p1 = &a; //创建指针p1 存储 变量a地址 int* p2 = p1; //创建指针p2 存储 指针p1的地址 (即p2的地址也是a变量的地址) *p2 = 10; //指针p2的地址存储 10 (即修改a变量为10)

第3题

解析:

答案B,下标从0开始,即2行3列 为 a[2-1][3-1] ,也就是a[1][2]

第4题

解析:

答案D,*(p+5) 就是a[0][0]往移动5个位置,即a[1][1]

第5题

解析:

答案B,

i循环为0 1;j循环为0 1 2;k循环为:0 1 i+j+k为偶数的情况有 i j k 0 0 0:a[0][0][0]=1 0 1 1:a[0][1][1]=4 0 2 0:a[0][2][0]=5 1 1 0:a[1][1][0]=9 1 0 1:a[1][0][1]=8 1 2 1:a[1][2][1]=12 累加和为:1+4+5+9+8+12=39

第6题

解析:

答案A,

第7题

解析:

答案C,

第8题

解析:

答案A,

第9题

解析:

答案B,

第10题

解析:

答案B,

A:不稳定,{3,‘D’}  和 {3,‘B’}的相对位置变了 C:可以判断,{3,‘D’}  和 {3,‘B’}相对位置已经改变了 D:不稳定,{3,‘D’}  和 {3,‘B’}的相对位置变了

第11题

解析:

答案B,

第12题

解析:

答案A,

第13题

解析:

答案B,嵌套循环都为n

第14题

解析:

答案D,

第15题

解析:

答案B,

二、判断题

第1题

解析:

答案√,

int x = 5; //x变量存储5 int *p = &x; //指针p指向x变量的地址 *p = *p + 3; //p指针地址的值= p指针地址的值+3=5+3=8

第2题

解析:

答案×,

struct name_struct{ string first_name;//姓氏 string last_name;//名字 }; struct student{ name_struct name;//性名 int age; };

第3题

解析:

答案√,

多维数组都是按照最高维度的顺序存储,例如a[5][5][5]: a[0][0][0] → a[0][0][1] → a[0][0][2] → a[0][0][3] → a[0][0][4] a[0][1][0] → a[0][1][1] → a[0][1][2] → a[0][1][3] → a[0][1][4] ... a[1][0][0] → a[1][0][1] → ... → a[1][4][4] 

第4题

解析:

答案√,引用传递会改变实参a的值

第5题

解析:

答案×,

int arr[5] = {1,2,3,4,5}; int* p1 =arr;//p1指向arr[0]的地址 int* p2 =arr+2;//p2指向arr[2]的地址 cout<<p2<<endl;//0x62fefc cout<<p1<<endl;//0x62fef4 //输出了2 //地址差: 0x62fefc - 0x62fef4 =8 //指针差:(地址数值差) / 单个元素的字节数 =8/4=2 cout<<p2-p1;

第6题

解析:

答案√,时间复杂度描述的是算法执行时间随输入规模增长的量级,而非精确的执行次数,所以循环n-1次的时间复杂度是O(n)

第7题

解析:

答案√,选择、希尔、快速、堆排序不稳定,其他都是稳定

第8题

解析:

答案×,是插入排序的思想

第9题

解析:

答案×,会调用“ return x*y ”的函数,只传递5,y就为默认值10,即5*10=50

第10题

解析:

答案√,fin会根据空格和换行分别给a b c d变量赋值,即a=10  b=20  c=30  d=40

三、编程题

第1题 [GESP202512 四级] 建造

题目描述

小 A 有一张 M 行 N 列的地形图,其中第 i 行第 j 列的数字 aij​ 代表坐标 (i,j) 的海拔高度。

停机坪为一个 3×3 的区域,且内部所有 9 个点的最大高度和最小高度之差不超过 H。

小 A 想请你计算出,在所有适合建造停机坪的区域中,区域内部 9 个点海拔之和最大是多少。

输入格式

第一行三个正整数 M,N,H,含义如题面所示。

之后 M 行,第 i 行包含 N 个整数 ai1​,ai2​,…,aiN​,代表坐标 (i,j) 的高度。

数据保证总存在一个适合建造停机坪的区域。

输出格式

输出一行,代表最大的海拔之和。

输入输出样例

输入 #1

5 5 3 5 5 5 5 5 5 1 5 1 5 5 5 5 5 5 5 2 5 2 5 3 5 5 5 2

输出 #1

40

说明/提示

数据范围

对于所有测试点,保证 1 ≤ M,N ≤

10^{3}

,1 ≤ H, aij ​≤

10^{5}

答案

#include <bits/stdc++.h> using namespace std; int a[1010][1010]; int main() { //1)填充数据 //1.1)确定矩阵大小m*n ,条件h int m,n,h; cin>>m>>n>>h; //1.2)填充二维数组 for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ cin>>a[i][j]; } } //2)枚举 //2.1)枚举出所有右顶点坐标 int ans=0; for(int r_i=3;r_i<=m;r_i++){ for(int r_j=3;r_j<=n;r_j++){ //2.2)将3*3内的最大 最小找出来 ,计算总和 int maxx=INT_MIN,minn=INT_MAX,sum=0; for(int i=r_i-2;i<=r_i;i++){ for(int j=r_j-2;j<=r_j;j++){ maxx = max(maxx,a[i][j]); minn = min(minn,a[i][j]); sum+=a[i][j]; } } //2.3)判断最大-最小<=条件 if( maxx-minn<=h ){ //2.4)满足:找最大“总和” if( sum>ans ) ans=sum; } } } cout<<ans; } 

第2题 [GESP202512 四级] 优先购买

题目描述

小 A 有 M 元预算。商店有 N 个商品,每个商品有商品名 S、价格 P 和优先级 V 三种属性,其中 V 为正整数,且 V 越小代表商品的优先级越高。

小 A 的购物策略为:

  • 总是优先买优先级最高的东西;
  • 如果有多个最高优先级商品,购买价格最低的;
  • 如果有多个优先级最高且价格最低的商品,购买商品名字典序最小的。

小 A 想知道能购买哪些商品。

输入格式

第一行两个正整数 M,N,代表预算和商品数。

之后 N 行,每行一个商品,依次为 Si​ Pi​ Vi​,代表第 i 个商品的商品名、价格、优先级。

数据保证不存在两个名字相同的商品。

输出格式

按照字典序从小到大的顺序,输出所有购买商品的商品名。

输入输出样例

输入 #1

20 4 apple 6 8 bus 15 1 cab 1 10 water 4 8

输出 #1

bus cab water

说明/提示

数据范围

对于所有测试点,保证 1 ≤ ∣Si​∣ ≤ 10,1 ≤ M,Pi ​≤

10^{5}

,1 ≤ N ≤

10^{3}

,1 ≤ Vi ​≤ 10。商品名仅由小写字母组成且不存在两个相同的商品名。

答案

#include <bits/stdc++.h> using namespace std; struct goods{ string s; int p,v; }a[1010]; bool cmp(goods a,goods b){ if(a.v!=b.v) return a.v<b.v; if(a.p!=b.p) return a.p<b.p; return a.s<b.s; } bool cmp2(string a,string b){ return a<b; } int main() { //1)填充数据 //1.1)确定预算m 商品数量n int m,n; cin>>m>>n; //1.2)填充n个商品的信息 for(int i=1;i<=n;i++){ cin>>a[i].s>>a[i].p>>a[i].v; } //2)根据3规则排序 sort(a+1,a+n+1,cmp); //3)模拟购买过程 string ans[1010]; int ans_size=0; for(int i=1;i<=n;i++){ if(m>=a[i].p){ m-=a[i].p; ans_size++; ans[ans_size]=a[i].s; if(m==0) break; } } //4)根据购买好的商品排序 sort(ans+1,ans+ans_size+1,cmp2); //5)输出结果 for(int i=1;i<=ans_size;i++) cout<<ans[i]<<endl; } 

Read more

假网站排全网第二,真官网翻五页都找不到!NanoClaw创始人破防:SEO之战,我快要输了

假网站排全网第二,真官网翻五页都找不到!NanoClaw创始人破防:SEO之战,我快要输了

整理 | 苏宓 出品 | ZEEKLOG(ID:ZEEKLOGnews) 自从 OpenClaw 爆火之后,各种“Claw”项目接连出现,其中以安全优化版 NanoClaw 最为知名。它的核心代码仅有 4000 行,却获得了 AI 大牛 Andrej Karpathy 的点赞。 可谁也没想到,这款口碑极佳的开源项目,近来竟被一个仿冒网站抢了风头。 投诉无门之下,NanoClaw 创始人 Gavriel Cohen 在 X 社交平台上无奈发文怒斥:谷歌搜索错误地将假网站排在真官网前面,不仅破坏了项目声誉,还埋下了严重的安全隐患,而他费尽心力,却只能哀叹一句——“我正在为自己的开源项目打 SEO 战,但我快要输了。” 那么,NanoClaw 究竟发生了什么?又是怎么走红的?事情还要从 OpenClaw

By Ne0inhk
曝Windows 12将于今年发布?以AI为核心、NPU成「硬件门槛」,网友吐槽:“不想要的全塞进来了”

曝Windows 12将于今年发布?以AI为核心、NPU成「硬件门槛」,网友吐槽:“不想要的全塞进来了”

整理 | 郑丽媛 出品 | ZEEKLOG(ID:ZEEKLOGnews) 当年,微软一句“Windows 10 将是最后一个版本”的表态,让不少用户以为 Windows 进入了“只更新、不换代”的时代。但几年过去,现实却完全不同。 在 Windows 11 发布之后,如今关于 Windows 12 的传闻再次密集出现。从内部代号、代码片段,到硬件厂商的暗示与 OEM 预热标签,种种线索拼在一起,勾勒出一个明显的趋势——这不会只是一次常规升级,而更像是一次围绕 AI 的平台级重构。 更关键的是,这次争议,可能远比当年 TPM 2.0 更大。 精准卡位 Windows 10 退场的时间?

By Ne0inhk
“裸奔龙虾”数量已达27万只,业内人士警告;AI浪潮下,中传“砍掉”翻译等16个专业;薪资谈判破裂,三星电子8.9万人要罢工 | 极客头条

“裸奔龙虾”数量已达27万只,业内人士警告;AI浪潮下,中传“砍掉”翻译等16个专业;薪资谈判破裂,三星电子8.9万人要罢工 | 极客头条

「极客头条」—— 技术人员的新闻圈! ZEEKLOG 的读者朋友们好,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。(投稿或寻求报道:[email protected]) 整理 | 郑丽媛 出品 | ZEEKLOG(ID:ZEEKLOGnews) 一分钟速览新闻点! * “裸奔龙虾”已高达27万只!业内人士警告:一旦黑客入侵,敏感信息一秒搬空 * 阿里云 CTO 周靖人代管千问模型一号位,刘大一恒管理更多团队 * 中国传媒大学砍掉翻译、摄影等 16 个本科专业,直言教育要面向人机分工时代 * 雷军放话:小米将很快推出 L3、L4 的驾驶 * 消息称原理想汽车智驾一号位郎咸朋具身智能赛道创业 * vivo 前产品经理宋紫薇创业,瞄准 AI 时尚Agent,获亿元融资 * MiniMax 发布龙虾新技能,股价暴涨超 23% * 薪资谈判破裂,三星电子

By Ne0inhk
Python热度下滑、AI能取代搜索引擎?TIOBE最新榜单揭晓!

Python热度下滑、AI能取代搜索引擎?TIOBE最新榜单揭晓!

整理 | 屠敏 出品 | ZEEKLOG(ID:ZEEKLOGnews) 日前,TIOBE 发布了最新的 3 月编程语言榜单。整体来看,本月排名变化不算大,但榜单中仍然出现了一些值得关注的小波动。  AI 工具能帮大家秒懂最新编程语言趋势? 由于 2 月天数较少,3 月的榜单整体变化有限。借着这次发布,TIOBE CEO Paul Jansen 也回应了一个最近被频繁讨论的问题:为什么 TIOBE 指数仍然依赖搜索引擎统计结果?在大语言模型流行的今天,直接询问 AI 哪些编程语言最流行,是不是更简单? 对此,Jansen 的回答是否定的。 他解释称,TIOBE 指数本质上统计的是互联网上关于某种编程语言的网页数量。而大语言模型的训练数据同样来自这些网页内容,因此从信息来源来看,两者并没有本质区别。换句话说,LLM 的判断,本质上也是建立在这些网页数据之上的。 Python 活跃度仍在下降

By Ne0inhk