GESP认证C++编程真题解析 | 202506 三级

news/2026/1/17 21:32:22/文章来源:https://www.cnblogs.com/guolianggsta/p/19497212

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总帖:GESP认证C++编程真题解析 | 汇总


单选题

第1题

8位二进制原码能表示的最小整数是:( )

A.-127

B.-128

C.-255

D.-256

【答案】:A

【解析】

注意此题问的是原码,原码第1位是符号位,后面7位是数据位。题目问能表示的最小的数,那就是最小的负数,所以符号位是1,剩下7位数据位最多就是 \((1111111)_2=127\),所以合起来,8位原码最小的就是-127,选A。

第2题

反码表示中,零的表示形式有:

A.1种

B.2种

C.8种

D.16种

【答案】:B

【解析】

在反码表示中,零有两种表示形式:+0(全0)和-0(全1))。

第3题

补码 1011 1011 对应的真值是( )

A.-69

B.-59

C.-68

D.-58

【答案】:A

【解析】

补码10111011最高位为1,表示负数。求真值可以将其符号位不变,其余各位依次取反再加1,得到\((11000101)_2=(-69)_{10}\),所以答案为A。

第4题

若X的8位补码为 0000 1010,则 X/2 的补码是( )。

A.0000 0101

B.1000 0101

C.0000 0101 或 1000 0101

D.算术右移后结果取决于符号位

【答案】:A

【解析】

方法1:00001010转为十进制为10,X/2=5,补码为00000101。

方法2:除以2相当于是右移1位。在补码表示中,正数右移1位时,高位补0;负数右移1位时,高位补1。此处Ⅹ为正数,故X/2的补码为00000101。

第5题

二进制数 1101.101 对应的十进制数是( )

A.13.625

B.12.75

C.11.875

D.14.5

【答案】:A

【解析】

将二进制数1101.101转换为十进制:\(1101.101=1×2^3+1×2^2+0×2^1+1×2^0+1×2^{-1}+0×2^{-2}+1×2^{-3}=8+4+0+1+0.5+0+0.125\)

第6题

补码加法中,若最高位和次高位进位不同,则说明( )

A.结果正确

B.发生上溢

C.发生下溢

D.结果符号位错误

【答案】:B

【解析】

两个非负数相加变成负数的情况。这种情况一般称为“上溢”。

第7题

八进制数 35.6 对应的十进制数是( )

A.29.75

B.28.5

C.27.625

D.30.25

【答案】:A

【解析】

将八进制数35.6转换为十进制:\((35.6)_8=3×8^1+5×8^0+6×8^{-1}=24+5+6\div 8=29+0.75=29.75\)

因此答案为A。

第8题

二进制数 1010 | 1100 的结果是( )

A.1000

B.1110

C.1010

D.1100

【答案】:B

【解析】

符号"|"表示按位或操作,即只要对应位有一个为1,结果就为1:1010|1100按位进行或运算,结果为1110。答案为B。

第9题

以下哪个位运算可以交换两个变量的值(无需临时变量)( )

A.a = a ^ b; b = a ^ b; a = a ^ b;

B.a = a & b; b = a | b; a = a & b;

C.a = a | b; b = a ^ b; a = a ^ b;

D.a = ~a; b = ~b; a = ~a;

【答案】:A

【解析】

要交换两个变量的值,可以使用异或运算的特性:a ^ a = 0, a ^ 0 = a,且异或运算满足交换律和结合律。因此答案为A。

第10题

如何正确定义一个长度为5的整型数组( )

A.int array = new int[5];

B.array int[5];

C.int[] array = {1,2,3,4,5};

D.int array[5];

【答案】:D

【解析】

在主流编程语言(如C、C++、J Java)中,正确定义长度为5的整型数组的方式是使用类型后跟数组名,然后在方括号中指定长度。选项D "int array[5];"是标准的声明方式,定义了一个名为 array 的5个整数元素的数组。答案为D。

第11题

以下程序使用枚举法(穷举法)求解满足条件的三位数,横线处应该填入的是( )

#include <iostream>
using namespace std;int main() {int count = 0;for (int i=100; i<=999; i++) {int a = i / 100;______int c = i % 10;if (a * a + b * b == c * c) {count++;}}cout << count << endl;return 0;
}

A.int b = (i / 10) / 10;

B.int b = (i / 10) % 10;

C.int b = (i % 10) / 10;

D.int b = (i % 10) % 10;

【答案】:B

【解析】

程序在寻找满足\(a^2+b²=c²\)的三位数。已知 a=i/100(百位),c=i%10(个位),所以b应为十位数,即(i%100)/10或(i/10)%10。在这些选项中, "int b=(i/10)%10;"正确提取了十位数字。答案为B。

第12题

以下程序模拟了一个简单的小球反弹过程,横线处应该填入的是( )

#include <iostream>
using namespace std;int main() {int height = 10;int distance = 0;for (int i=1; i<=5; i++) {  // 模拟5次落地______height /= 2;distance += height;}cout << distance << endl;return 0;
}

A.distance += height/2;

B.distance += height;

C.distance += height*2;

D.distance += height+1;

【答案】:B

【解析】

程序模拟小球反弹过程,每次弹起高度为上次的一半(height/=2)。总距离应包含下落距离和上升距离。第9行是高度减半,减半完应为反弹的高度,第10行则累加了反弹得上升距离。所以由此可知,程序目前还缺累加下落距离,应填在第8行。由于第8行时高度还未减半,所以直接累加即可(下落高度是原高度,反弹高度是当次下落高度的一半)。所以答案选B。

第13题

C++代码 string s = "GESP考试"; ,s占据的字节数是( )

A.10

B.8

C.8或10

D.取决于计算机采用什么编码

【答案】:B

【解析】

在C++中,汉字采用不同的编码方案所得到的字节数不同。

第14题

C++语句 string s="Gesp Test"; 执行s.rfind("e")以后,输出的是( )

A.1

B.2

C.6

D.3

【答案】:C

【解析】

string 的rfind()方法从右向左查找字符,返回找到的字符下标。"Gesp Test"中,从右向左第一个"e"出现在"Test"中,下标为6(从0开始),因此答案为C。

第15题

字符串"Gesp考试",字符数是( )

A.10

B.8

C.6

D.字符数多少取决于编码

【答案】:C

【解析】

字符串"Gesp考试"包含6个字符:G、e、s、p、考、试。

判断题

第16题

C++中 string 的 == 运算符比较的是字符串的内存地址,而非内容

A.正确

B.错误

【答案】:B

【解析】

string类型变量进行 == 比较时,比较的是内容,只有字符串字面量进行比较时,才比较地址面非内容

第17题

string 的 substr(1, 3) 返回从下标1开始的3个字符的子串。

A.正确

B.错误

【答案】:A

【解析】

string 的 substr(pos, len)函数返回从 pos 位置开始、长度为 len 的子字符串。substr(1, 3)表示从索引1(第二个字符)开始,提取长度为3的子串。例如,对于字符串"Hello",substr(1, 3)将返回"ell"。

第18题

x 是浮点数, (x >> 1) 等价于 x / 2

A.正确

B.错误

【答案】:B

【解析】

位运算只能针对整数类型进行运算。

第19题

string("hello") == "hello" 的比较结果为true。

A.正确

B.错误

【答案】:A

【解析】

string类型进行 == 比较时,比较的是内容。所以题面描述正确。

第20题

sort 可以直接用于排序 set 中的元素。

A.正确

B.错误

【答案】:B

【解析】

set不可以用 sort 排序。

第21题

(x & 1) == 0 可以判断整数 x 是否为偶数。

A.正确

B.错误

【答案】:A

【解析】

本质为取出x二进制的最低位进行判断,偶数的二进制形式中最低位一定为0。

第22题

string 的 substr(2, 10) 在字符串长度不足时会抛出异常。

A.正确

B.错误

【答案】:B

【解析】

当字符串长度不足时,不会抛出异常,会截取到最后一个字符。

第23题

在数学纸面计算中, pow(2, 3) 的计算结果一定是8,但是在C++中,如果遇到数据类型是浮点数,那就不 一定正确。

A.正确

B.错误

【答案】:A

【解析】

计算机无法精确表示所有小数。

第24题

在 C++ 中,枚举的底层类型可以是非整型(如 float 或 double )。

A.正确

B.错误

【答案】:B

【解析】

必须是整型。

第25题

函数声明 double f(); 返回 int 时,会自动转换为 double

A.正确

B.错误

【答案】:A

【解析】

这里有一个自动地隐式类型转换。

编程题

B4358 奇偶校验

【题目来源】

洛谷:B4358 [GESP202506 三级] 奇偶校验 - 洛谷

【题目描述】

数据在传输过程中可能出错,因此接收方收到数据后通常会校验传输的数据是否正确,奇偶校验是经典的校验方式之一。

给定 \(n\) 个非负整数 \(c_1,c_2,…,c_n\) 代表所传输的数据,它们的校验码取决于这些整数在二进制下 \(1\) 的数量之和的奇偶性。如果这些整数在二进制下共有奇数个 \(1\),那么校验码为 \(1\);否则校验码为 \(0\)。你能求出这些整数的校验码吗?

【输入】

第一行,一个正整数 \(n\),表示所传输的数据量。

第二行,\(n\) 个非负整数 \(c_1,c_2,…,c_n\),表示所传输的数据。

【输出】

输出一行,两个整数,以一个空格分隔:

第一个整数表示 \(c_1,c_2,…,c_n\) 在二进制下 \(1\) 的总数量;

第二个整数表示校验码(\(0\)\(1\))。

【输入样例】

4
71 69 83 80

【输出样例】

13 1

【算法标签】

《洛谷 B4358 奇偶校验》 #进制# #循环结构# #GESP# #2025#

【代码详解】

#include <bits/stdc++.h>
using namespace std;const int N = 105;  // 定义数组最大长度int n;              // 输入的数字个数
int ans = 0;       // 存储所有数字二进制中1的总个数
int a[N];          // 存储输入的数字数组// 计算数字x的二进制表示中1的个数
int cal(int x)
{int res = 0;    // 计数器,记录1的个数// 循环处理每一位while (x){// 检查最低位是否为1if (x & 1 == 1)res++;// 右移一位,处理下一位x >>= 1;}return res;
}int main()
{cin >> n;  // 输入数字个数// 输入n个数字for (int i = 1; i <= n; i++)cin >> a[i];// 计算所有数字二进制中1的总个数for (int i = 1; i <= n; i++)ans += cal(a[i]);// 输出总1的个数和其奇偶性cout << ans << " ";// 判断总1个数的奇偶性if (ans % 2 == 0)cout << 0 << endl;  // 偶数输出0elsecout << 1 << endl;  // 奇数输出1return 0;
}

【运行结果】

4
71 69 83 80
13 1

B4359 分糖果

【题目来源】

洛谷:B4359 [GESP202506 三级] 分糖果 - 洛谷

【题目描述】

\(n\) 位小朋友排成一队等待老师分糖果。第 \(i\) 位小朋友想要至少 \(a_i\) 颗糖果,并且分给他的糖果数量必须比分给前一位小朋友的糖果数量更多,不然他就会不开心。

老师想知道至少需要准备多少颗糖果才能让所有小朋友都开心。你能帮帮老师吗?

【输入】

第一行,一个正整数 \(n\),表示小朋友的人数。

第二行,\(n\) 个正整数 \(a_1,a_2,…,a_n\),依次表示每位小朋友至少需要的糖果数量。

【输出】

输出一行,一个整数,表示最少需要准备的糖果数量。

【输入样例】

4
1 4 3 3

【输出样例】

16

【算法标签】

《洛谷 B4359 分糖果》 #贪心# #数组# #GESP# #2025#

【代码详解】

#include <bits/stdc++.h>
using namespace std;#define int long long  // 定义int为long long类型
const int N = 1005;    // 定义数组最大长度int n;                 // 输入的数字个数
int a[N];              // 存储原始数字数组
int s[N];              // 存储处理后的数字数组
int ans = 0;           // 存储最终结果signed main()
{// 输入数字个数cin >> n;// 输入n个数字for (int i = 1; i <= n; i++)cin >> a[i];// 处理数组,确保s[i]至少比前一个大1for (int i = 1; i <= n; i++)s[i] = max(a[i], s[i - 1] + 1);// 计算处理后数组的总和for (int i = 1; i <= n; i++){ans += s[i];}// 输出最终结果cout << ans << endl;return 0;
}

【运行结果】

4
1 4 3 3
16

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1174813.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hitler the justice

I hate this world, only Heiliges Rmisches Reich gives me meaning. I love Deutschland and hate the bullies, because I can not find the common love.

DeepSeek写的论文怎么降AI率?3款工具实测对比 - 还在做实验的师兄

DeepSeek写的论文直接提交知网检测,AI率通常在38%-99%之间。单靠DeepSeek自己降AI效果有限(平均降35%),推荐用专业工具:嘎嘎降AI性价比高,比话降AI可将AI率降至0%。DeepSeek写的论文怎么降AI率?3款工具实测对比…

GESP认证C++编程真题解析 | 202506 一级

​欢迎大家订阅我的专栏:算法题解:C++与Python实现! 本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战! 专栏特色 1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的…

2026年期刊论文降AI率工具推荐,顺利发表必备 - 还在做实验的师兄

期刊对AI率的要求通常比学校更严格,部分期刊要求低于10%甚至5%。推荐比话降AI(可降至0%,8元/千字)和嘎嘎降AI(达标率99.26%,4.8元/千字)。投稿前一定要处理好AI率。2026年期刊论文降AI率工具推荐,顺利发表必备…

详细介绍:任务悬赏小程序核心玩法 + 功能全解析:精准匹配与信任构建的变现逻辑

详细介绍:任务悬赏小程序核心玩法 + 功能全解析:精准匹配与信任构建的变现逻辑pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-…

毕业论文降AI率,学长推荐的5款工具(含免费额度) - 还在做实验的师兄

毕业论文AIGC检测不过别慌,这5款降AI工具都有免费额度可以先体验。重点推荐嘎嘎降AI(免费试用+达标率99.26%)和比话降AI(500字免费+知网专精)。先免费测效果,满意再付费。毕业论文降AI率,学长推荐的5款工具(含…

GESP认证C++编程真题解析 | 202506 二级

​欢迎大家订阅我的专栏:算法题解:C++与Python实现! 本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战! 专栏特色 1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的…

基于SSM的服装销售系统-计算机毕业设计源码+无LW文档

基于SSM的服装销售系统论文 摘要&#xff1a;本文围绕基于SSM&#xff08;Spring、SpringMVC、MyBatis&#xff09;框架的服装销售系统展开研究。阐述了系统的研究背景与意义&#xff0c;深入分析系统需求&#xff0c;详细介绍功能设计。该系统旨在解决传统服装销售管理模式的问…

嘎嘎降AI vs 比话降AI:2026年降AI工具对比测评 - 还在做实验的师兄

嘎嘎降AI主打性价比(4.8元/千字,达标率99.26%),比话降AI主打知网专精(8元/千字,可降至0%)。追求省钱选嘎嘎,追求极致效果选比话。两款都很靠谱,按需选择即可。嘎嘎降AI vs 比话降AI:2026年降AI工具对比测评T…

大数据领域必备:ClickHouse 全方位解析

大数据领域必备&#xff1a;ClickHouse 全方位解析 一、引言 (Introduction) 钩子 (The Hook) “昨天凌晨3点&#xff0c;我被运维的电话叫醒——数据 dashboard 又崩了。” 这是我做大数据工程师时最难忘的经历。当时我们用Hive处理用户行为数据&#xff0c;每次业务方要查“过…

新能源汽车充电服务系统-计算机毕业设计源码+LW文档

一、 研究的背景、目的和意义 &#xff08;一&#xff09;课题研究的背景 随着新能源汽车市场的快速发展&#xff0c;充电服务成为关键环节。全球能源结构的转型是当前新能源汽车充电服务系统设计的重要背景之一。传统化石能源的消耗带来了严重的环境污染和温室气体排放&…

SCI论文降AI率工具推荐:Turnitin检测轻松过 - 还在做实验的师兄

SCI论文投稿前需要通过Turnitin AI检测,中文降AI工具对英文无效。推荐AIGCleaner(专业英文降AI,Turnitin检测83%→0%)。国内论文可用嘎嘎降AI配合。SCI论文降AI率工具推荐:Turnitin检测轻松过TL;DR:SCI论文投稿前…

JUC并发编程:LockSupport.park() 与 unpark() 深度解析

一、前言在Java并发编程中&#xff0c;AQS (AbstractQueuedSynchronizer) 是实现锁&#xff08;如 ReentrantLock&#xff09;、同步器&#xff08;如 CountDownLatch&#xff09;的核心基础。而 AQS 能够实现线程的阻塞与唤醒&#xff0c;其底层完全依赖于 LockSupport 工具类…

AIGC检测原理解析:为什么自己写的论文也会被判AI生成 - 还在做实验的师兄

AIGC检测系统识别的是「AI特征」而非「是否由AI生成」。规范的学术写作特征与AI特征高度重合,所以自己写的论文也可能被误判。解决方法是用嘎嘎降AI等专业工具处理,让文本「看起来更像人写的」。AIGC检测原理解析:为…

高校志愿服务管理系统-计算机毕业设计源码+无LW文档

摘要&#xff1a;本文旨在探讨高校志愿服务管理系统的开发与实施。通过分析当前高校志愿服务管理的现状和存在的问题&#xff0c;提出了开发一个综合性的志愿服务管理系统的需求。本文详细阐述了系统的需求分析、功能设计以及预期的社会和经济影响&#xff0c;旨在提高高校志愿…

论文AI率从90%降到5%,我用了这个方法 - 还在做实验的师兄

AI率90%是极高的情况,但专业工具可以处理。我用嘎嘎降AI把90%的AI率降到了5%以下,花了不到50块钱,全程20分钟。手动改根本不可能,直接用工具是唯一出路。论文AI率从90%降到5%,我用了这个方法TL;DR:AI率90%是极高…

2026年便宜好用的降AI工具推荐,学生党必看 - 还在做实验的师兄

学生党预算有限,推荐嘎嘎降AI(4.8元/千字,1000字免费试用)和率零(3.2元/千字,最便宜)。效果要求高选嘎嘎,纯省钱选率零。都有免费额度,先试再买。2026年便宜好用的降AI工具推荐,学生党必看TL;DR:学生党预算…

2026年降AI工具年度盘点:哪款最值得用 - 还在做实验的师兄

2026年降AI工具年度盘点:性价比之王是嘎嘎降AI(4.8元/千字,达标率99.26%),效果极致是比话降AI(8元/千字,可降至0%),最便宜是率零(3.2元/千字)。按需选择即可。2026年降AI工具年度盘点:哪款最值得用TL;DR:…

完整教程:Fresha 的实时分析进化:从 Postgres 和 Snowflake 走向 StarRocks

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

论文AI率从100%降到10%以下,我用的这几款工具 - 还在做实验的师兄

论文AI率太高别慌,用对工具完全能救回来。实测了十几款降AI工具,最终推荐嘎嘎降AI(99.5%→3.1%,性价比高)和比话降AI(可降至0%,知网专精)。手动改反而可能越改越高,别踩坑。论文AI率从100%降到10%以下,我用的…