news 2026/5/11 21:53:45

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP认证C++编程真题解析 | 202406 一级

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

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

适合人群:

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

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


单选题

第1题

在C++中,下列不可做变量的是( )。

A.five-Star

B.five_star

C.fiveStar

D._fiveStar

【答案】:A

【解析】

C++的变量命名只能由字母、数字、下划线组成,并且数字不能作为开头

第2题

C++表达式3 - 3 * 3 / 5的值是( )。

A.-1.2

B.1

C.0

D.2

【答案】:D

【解析】

根据优先级,首先计算3 * 3 / 5得到1,3 - 1的结果为2

第3题

在C++中, 假设N为正整数, 则表达式cout<<(N%3+N%7) 可能输出的最大值是( )。

A.6

B.8

C.9

D.10

【答案】:B

【解析】

N%3的最大值为2,N%7的最大值为6

第4题

C++语句printf(“5%%2={%d} \n”, 5%2) 执行后的输出是( )。

A.1={1}

B.5%2={5%2}

C.5%2={1}

D.5 ={1}

【答案】:C

【解析】

printf(“%%”) 的输出为%,"%d"为5%2的计算结果

第5题

对整型变量i, 执行C++语句cin>>i, cout<<i如果输入5+2, 下述说法正确的是( )。

A.将输出整数7

B.将输出5

C.语句执行将报错,输入表达式不能作为输出的参数

D.语句能执行,但输出内容不确定

【答案】:B

【解析】

cin首先将5识别为有效的整数部分, +不是数字部分, 停止读入, 此时i为5

第6题

下面C++代码执行后的输出是( )

floata;a=101.101;a=101;print("a+1=(%.0f)",a+1);

A.101={102}

B.a+1={a+1}

C.a+1={102}

D.a先被赋值为浮点数,后被赋值为整数,执行将报错

【答案】:C

【解析】

a在第二次赋值后变为101,a+1的计算结果为102,%.0f需要将浮点数的小数部分四舍五入

第7题

表达式9/4-6%(6-2)*10的值是( )。

A.-17.75C

B.-18

C.-14

D.-12.75

【答案】:B

【解析】

9/4的结果为2,6%(6-2)*10的结果为20,2-20的结果为-18

第8题

下面C++代码执行时输入10后,正确的输出是( )。

intN;cout<<"请输入正整数:";cin>>N;if(N%3)printf("第5行代码%2d",N%3);elseprintf("第6行代码%2d",N%3);

A.第5行代码1

B.第6行代码1

C.第5行代码 1

D.第6行代码 1

【答案】:C

【解析】

10%3的结果为1,表达式为真,%2d表示输出数字占两位,不足两位的在数字前用空格补全

第9题

下面C++代码执行后输出是( )

intSum=0,i=0;for(;i<10;)Sum+=i++;cout<<i<<" "<<Sum;

A.9 45

B.10 55

C.10 45

D.11 55

【答案】:C

【解析】

在for循环中, Sum+=i++等价于Sum=i, i++, 循环执行的条件为i <10, 所以输出的i为10, Sum为1+2+…+9的结果为45

第10题

下面C++代码用于判断N是否为质数(只能被1和它本身整除的正整数)。程序执行后,下面有关描述正确的是( )。

intN;cout<<"请输入整数:";cin>>N;boolFlag=false;if(N>=2){Flag=true;for(inti=2;i<N;i++)if(N%i==0){Flag=false;break;}}if(Flag)cout<<"是质数";elsecout<<"不是质数";

A.如果输入负整数,可能输出“是质数”

B.如果输入2,将输出“不是质数”,因为此时循环不起作用

C.如果输入2,将输出“是质数”,即便此时循环体没有被执行

D.如果将if(N>=2)改为if(N>2)将能正确判断N是否质数

【答案】:C

【解析】

A选项,如果输入负整数,不满足N>=2,输出“不是质数”;B选项,输入2, 满足N>=2, 执行Flag=true; , 不满足for循环条件, 最终输出“是质数”;C选项同B选项;D选项,如果输入2,不满足N>2。输出“不是质数”,与实际不符

第11题

下面的C++代码用于求1~N之间所有奇数之和,其中N为正整数,如果N为奇数,则求和时包括N。有关描述错误的是( )。

intN;cout<<"请输入正整数:";cin>>N;inti=1,Sum=0;while(i<=N){if(i%2==1)Sum+=i;i+=1;}cout<<i<<" "<<Sum;

A.执行代码时如果输入10,则最后一行输出将是11 25

B.执行代码时如果输入5,则最后一行输出将是6 9

C.将i+=1移到if(i % 2 == 1) 前一行,同样能实现题目要求

D.删除 if (i % 2 == 1),并将i+=1改为i+=2,同样可以实现题目要求

【答案】:C

【解析】

C选项,移动后,循环开始时i为1,执行i+=1;后i为2,此时奇数1没有被加到Sum中

第12题

如果一个整数N能够表示为X*X的形式,那么它就是一个完全平方数,下面C++代码用于完成判断N是否为一个完全平方数,在横线处应填入的代码是( )。

intN;cin>>N;for(inti=0;i<=N;i++)if(____)cout<<N<<"是一个完全平方数\n";

A.i == N * N

B.i * 10 == N

C.i + i == N

D.i * i == N

【答案】:D

【解析】

从0开始循环枚举,当找到满足i*i==N的i时,证明N是一个完全平方数

第13题

执行下面C++代码后输出的cnt的值是( ) 。

intcnt=0;for(inti=0;i*i<64;i+=2)cnt++;cout<<cnt;

A.8

B.7

C.4

D.1

【答案】:C

【解析】

在for循环中, i的值分别为0, 2, 4, 6, 所以循环4次, 执行4次cnt++; , 最终cnt为4

第14题

小杨父母带他到某培训机构给他报名参加CCF组织的G ESP认证考试的第1级, 那他可以选择的认证语言有几种?( )

A.1

B.2

C.3

D.4

【答案】:C

【解析】

GESP一级可选择的认证语言有图形化、Python、C++三种语言

第15题

ENIAC于1946年投入运行, 是世界上第一台真正意义上的计算机, 它的主要部件都是( )组成的。

A.感应线圈口

B.电子管

C.晶体管

D.集成电路

【答案】:B

【解析】

ENIAC的主要部件为电子管

判断题

第16题

在C++代码中变量X被赋值为16.44, 则cout<<X / 10执行后输出的一定是1。( )

A.正确

B.错误

【答案】:B

【解析】

double类型与int类型进行运算时, 结果会隐式转换为double类型,结果为1.644

第17题

C++的整型变量N被赋值为10, 则语句cout<<N/4<<“->”<<N%4<<“->”<<N/4.0执行后输出是2->2->2.0。( )

A.正确

B.错误

【答案】:B

【解析】

double类型与int类型进行运算时, 结果会隐式转换为double类型,结果为2.5

第18题

定义C++的float型变量N, 则语句c in>>N; cout<<int(float(N)) 可以输入正负整数和浮点数,并将其转换为整数后输出。( )

A.正确

B.错误

【答案】:B

【解析】

double类型与int类型进行运算时, 结果会隐式转换为double类型,结果为2.5

第19题

C++的整型N被赋值为5, 语句printf(“%d*2”, N) 执行后将输出10。( )

A.正确

B.错误

【答案】:B

【解析】

如果想输出10, 应写为printf(“%d”, N * 2) , 题目中输出5 * 2

第20题

在C++中, break语句用于终止当前层次的循环, 循环可以是for循环, 也可以是while循环。( )

A.正确

B.错误

【答案】:A

【解析】

break可以终止当前层的循环

第21题

在C++, continue语句通常与if语句配合使用。( )

A.正确

B.错误

【答案】:A

【解析】

continue为结束本次循环, 直接开始下一次循环一般在满足某些指定条件时使用

第22题

在C++代码中, 不可以将变量命名为printf, 因为printf是C++语言的关键字。( )

A.正确

B.错误

【答案】:B

【解析】

printf是一个标准库函数, 不是关键字

第23题

在C++中有整型变量N,则表达式N+=8/4//2相当于N+=8/(4/2)。( )

A.正确

B.错误

【答案】:B

【解析】

// 并不是C++的算数运算符

第24题

C++中定义变量int N, 则表达式(!!N) 的值也是N的值。( )

A.正确

B.错误

【答案】:B

【解析】

逻辑非!的结果为1或0,如果N初始不是1或0,则运算结果不等于N

第25题

GESP测试是对认证者的编程能力进行等级认证, 同一级别的能力基本上与编程语言无关。( )

A.正确

B.错误

【答案】:A

【解析】

作为能力认证考试,GESP不仅做到了拉开不同等级之间的试题,同时也保证了不同编程语言之间的一致性。

编程题

B4000 休息时间

【题目来源】

洛谷:[B4000 GESP202406 一级] 休息时间 - 洛谷

【题目描述】

小杨计划在某个时刻开始学习,并决定在学习k kk秒后开始休息。

小杨想知道自己开始休息的时刻是多少。

【输入】

前三行每行包含一个整数,分别表示小杨开始学习时刻的时h hh、分m mm、秒s ssh hhm mms ss的值符合1 ≤ h ≤ 12 , 0 ≤ m ≤ 59 , 0 ≤ s ≤ 59 1≤h≤12,0≤m≤59,0≤s≤591h120m590s59)。

第四行包含一个整数k kk、表示小杨学习的总秒数(注:k kk的值符合1 ≤ k ≤ 3600 1≤k≤36001k3600

【输出】

输出一行,包含三个整数,分别表示小杨开始休息时刻的时、分、秒。

【输入样例】

12 59 59 10

【输出样例】

13 0 9

【算法标签】

《洛谷 B4000 休息时间》 #顺序结构# #GESP# #2024#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;intmain(){inth,m,s;// 当前时间:时、分、秒cin>>h>>m>>s;// 输入当前时间intk;// 要增加的秒数cin>>k;// 输入增加的秒数// 将当前时间转换为总秒数intnow=h*60*60+m*60+s;// 加上k秒now+=k;// 计算新的时分秒inthh=now/3600;// 时 = 总秒数 ÷ 3600now%=3600;// 剩余的秒数intmm=now/60;// 分 = 剩余秒数 ÷ 60now%=60;// 剩余的秒数intss=now;// 秒 = 剩余秒数// 输出结果cout<<hh<<" "<<mm<<" "<<ss<<endl;return0;}

【运行详解】

12 59 59 10 13 0 9

B4001 立方数

【题目来源】

洛谷:[B4001 GESP202406 一级] 立方数 - 洛谷

【题目描述】

小杨有一个正整数n nn,他想知道n nn是否是一个立方数。

一个正整数n nn是立方数当且仅当存在一个正整数x xx满足x × x × x = n x \times x \times x = nx×x×x=n

【输入】

第一行包含一个正整数n nn

【输出】

如果正整数n nn是一个立方数, 输出Yes, 否则输出No。

【输入样例】

8

【输出样例】

Yes

【算法标签】

《洛谷 B4001 立方数》 #GESP# #2024#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;intmain(){intn;// 输入的数字cin>>n;// 读取数字intfl=0;// 标志变量,0表示不是完全立方数,1表示是// 遍历1到n,检查是否有数的立方等于nfor(inti=1;i<=n;i++){if(i*i*i==n){// 检查i的立方是否等于nfl=1;// 找到完全立方数break;// 找到后立即退出循环}}// 根据标志变量输出结果if(fl)cout<<"Yes"<<endl;// 是完全立方数elsecout<<"No"<<endl;// 不是完全立方数return0;}

【运行结果】

8 Yes
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 1:05:30

从零开始学语音识别:GLM-ASR-Nano-2512实战入门指南

从零开始学语音识别&#xff1a;GLM-ASR-Nano-2512实战入门指南 在远程协作日益频繁、会议记录与课堂录音数字化需求激增的当下&#xff0c;如何高效地将语音内容转化为可编辑、可检索的文字&#xff1f;传统人工听写耗时费力&#xff0c;而大型云端ASR服务又存在隐私泄露和成…

作者头像 李华
网站建设 2026/5/11 2:35:46

通过CAPL编程监控CAN网络负载:实战案例

用CAPL脚本“听诊”CAN总线&#xff1a;实时负载监控实战 你有没有遇到过这样的情况&#xff1f; 某天整车测试时&#xff0c;ADAS系统突然出现短暂失灵&#xff0c;但回放日志却没发现任何错误帧&#xff1b;又或者ECU之间的通信延迟波动剧烈&#xff0c;可标准工具显示的“平…

作者头像 李华
网站建设 2026/5/9 3:42:00

Qwen3-4B-Instruct企业培训:个性化学习内容生成

Qwen3-4B-Instruct企业培训&#xff1a;个性化学习内容生成 1. 引言 随着人工智能技术的不断演进&#xff0c;大语言模型在企业级应用中的价值日益凸显。特别是在员工培训与知识传递场景中&#xff0c;传统标准化课程难以满足不同岗位、不同背景员工的个性化学习需求。阿里开…

作者头像 李华
网站建设 2026/5/11 10:17:08

构建PDF内容智能提取流水线|PDF-Extract-Kit核心功能详解

构建PDF内容智能提取流水线&#xff5c;PDF-Extract-Kit核心功能详解 1. 引言&#xff1a;PDF内容提取的挑战与解决方案 在数字化办公和学术研究中&#xff0c;PDF文档已成为信息传递的主要载体。然而&#xff0c;PDF格式的复杂性使得其内容难以直接被程序化处理——尤其是包…

作者头像 李华
网站建设 2026/5/1 7:34:41

B站4K视频下载全攻略:从零开始掌握高清收藏技巧

B站4K视频下载全攻略&#xff1a;从零开始掌握高清收藏技巧 【免费下载链接】bilibili-downloader B站视频下载&#xff0c;支持下载大会员清晰度4K&#xff0c;持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 还在为无法离线保存B站精彩…

作者头像 李华
网站建设 2026/5/7 7:43:04

Qwen3-4B为何响应慢?长上下文处理优化指南

Qwen3-4B为何响应慢&#xff1f;长上下文处理优化指南 在部署和使用Qwen3-4B-Instruct-2507模型的过程中&#xff0c;不少开发者反馈&#xff1a;尽管该模型具备强大的语言理解与生成能力&#xff0c;但在实际调用中存在响应延迟高、推理速度慢的问题&#xff0c;尤其是在处理…

作者头像 李华