跟着真题学编程,稳步拿下考级
周更连载|系统攻克少儿 C++ 考级
哈喽各位家长、小程序员,欢迎来到《每周一套 GESP》固定专栏!栏目每周更新 1 套完整 GESP 真题解析,从 C++ 一级循序渐进学到六级,原题 + 答案 + 细致讲解,零基础孩子也能看懂,系统备战编程考级。
本期:2026 年 3 月 GESP C++ 一级全卷
一、单选题(共 15 题,每题 2 分)
1~7 题
1.题干:机器人落地调整姿态,哪个不能作为计算机输入设备?
A. 重力传感器 B. 预装的 AI 算法程序 C. 遥控器 D. 摄像头
答案:B
解析:传感器、遥控器、摄像头都是硬件输入设备;AI 算法属于软件,无法作为输入设备。
2.题干:选中 txt 文件,哪种操作进入重命名输入状态?
A. 右键选择重命名 B. 双击左键 C.F1 D. 回车
答案:A
解析:右键重命名为标准改名操作,双击打开文件,F1 是帮助按键。
3.题干:double PI=3.1415926;cout<
A.PI 和 pi 等效,大小写不敏感 B. 改成 Pi 可运行 C.PI 不能用作变量名 D. 全部换成 Pai 代码正常执行
答案:D
解析:C++ 严格区分大小写,PI、Pi、pi 是三个不同变量,自定义合法变量名 Pai 无报错。
4.题干:C++ 表达式 3 * 3 % 2 的值是?A.81 B.27 C.4 D.1
答案:D
解析:优先级高于 %,先算 33=9,再 9%2=1。
5.题干:a、b 初值都是 4,执行 a,b=3,4;cout<
答案:C
解析:cout 连续输出直接拼接数值,无自动空格。
6.题干:int N=0;cin>>N;cout<
A. 输入 10 输出 10 B. 输入 3.14 报错 C. 输入 ABC 报错 D. 输入 - 10 报错
答案:A
解析:int 读取整型数据,输入整数正常输出,小数、字符不会造成程序崩溃。
7.题干:int M=0,N=0;cin>>M;cin>>N;if (N>M) else cout<
答案:B
解析:if 无内部语句,最终两段输出组合后结果恒大于等于 0。
8~15 题(循环 & 数位重点详解)
一级核心口诀:%10 取个位,/10 砍掉个位
8.题干:int i,tnt=1;for (i=0;i<5;i++) printf ("%2d%2d\n",tnt,i);tnt*=i; 输出结果?
答案:C
解析:for 循环从 i=0 开始第一轮,首次循环 i=0,tnt 初始值固定为 1。
9.题干:求数列 - 1+2+3-4+5+6-7… 前 N 项和,现有代码描述正确的是?
答案:B
解析:数列规律每 3 个数字一组:第 1 个负数、后两个正数,i%3==0 才符合取负规则,原条件需要修改。
10.题干:for (i=1;i<10;i++){if (i%2==0){continue} else cout<
答案:A
解析:遇到偶数执行 continue,跳过打印,仅奇数输出 #,循环结束 i=9,末尾输出 9END。
11.题干:补齐代码实现整数数位求和,空白代码是?
答案:B
解析:tnt+=N%10 提取个位累加,N/=10 剔除末尾数字,数位求和标准模板。
12.题干:统计数字里奇数数位个数,if 括号内填?
答案:B
解析:N%10 取出个位,N%10%2==1 代表该数位是奇数。
13.题干:两两位数大数在前拼成四位数,拼接数拼接余数变五位数,判断能否被 14 整除,代码描述?
答案:A
解析:原 if 条件写反,无法实现大数在前拼接,代码不能正确完成判断。
14.题干:六位数 N,判断高三位与低三位差值是 314 倍数,填空?
答案:B
解析:N/1000 取高三位,N%1000 取低三位,%314==0 用来判断是否为倍数。
15.题干:统计双螺旋数(奇偶数位和相等),补充循环内代码?
答案:A
解析:循环一次取个位存入奇数位和 N1,再次取个位存入偶数位和 N2,交替拆分所有数位。
二、判断题(10 题,每题 2 分)
1.题干:可通话电话手表内置专属操作系统。
答案:√
解析:智能穿戴设备搭载嵌入式操作系统。
2.题干:4%2 和 2*2%2 运算结果相同。
答案:√
解析:两个式子运算结果均为 0。
3.题干:for (i=1;i<10;i++) if (i%3==0) cout<
答案:×
解析:break 不在 if 代码块内,不属于循环内部,不会提前跳出循环。
4.题干:for 循环后带分号,可实现 1~N 累加。
答案:×
解析:for 后分号代表空循环,累加语句脱离循环体无法执行。
5.题干:cin>>N;while (N) cout<<N;cout 执行 0 次或无限次。
题干:数字反转和原数对比,代码用来判断对称数。答案:√解析:经典回文数判断写法,逻辑无误。
6.题干:输入正整数 N,代码运行输出结果一定是 - N。
答案:×
解析:循环步长为 2,累加规律不满足结果等于 - N。
7.题干:printf ("% d\n",3.14); 代码运行报错。
答案:×
解析:浮点数据用 % d 输出不会报错,自动截取整数部分。
8.题干:int cnt=0;for (int i=1;i<100;i++) cnt+=i++; 输出 2500。
答案:×
解析:后置自增 i++,变量两次自增,计算结果不等于 2500。
9.题干:printf ("%-5d\n",314); 输出 - 5314。
答案:×
解析:%-5d 代表左对齐占 5 字符,负号是格式标识,不会打印 - 5。
三、编程题(每题 25 分,共 50 分)
编程 1:交朋友
题目:H1 为 Alice 身高,剩余 3 位小朋友身高 H2、H3、H4,找身高差距最小的,差距相同选更矮身高。
#include<iostream>#include<cmath>// 包含绝对值函数absusing namespace std;intmain(){int H1,H2,H3,H4; // 定义4个身高变量cin>>H1>>H2>>H3>>H4; // 输入4个人的身高int ans = H2; // 先假设H2是最优答案int mind = abs(H1 - H2); // 计算最小差值,初始为H1和H2的差// 和H3比较int d = abs(H1 - H3);if(d < mind || (d == mind && H3 < ans)){mind = d; // 更新最小差值ans = H3; // 更新最优身高}// 和H4比较d = abs(H1 - H4);if(d < mind || (d == mind && H4 < ans)){ans = H4;}cout<<ans; // 输出最终答案return 0;}
拓展思考:人数变多如何优化?后续学习数组(GESP 二级考点)。
编程 2:数字替换
题目:输入整数,所有数位数字 4 替换成 8,其余数字保持原样输出。
#include<iostream>using namespace std;intmain(){int a, b = 0, t = 1; // a=输入数字,b=结果数字,t=位数权重(1、10、100...)cin >> a; // 输入待处理数字while(a > 0){ // 循环拆分每一位,直到数字为0int num = a % 10; // 取出最后一位数字if(num == 4){ // 如果是数字4,替换成8num = 8;}b += num * t; // 把当前位拼接到新数字里t *= 10; // 权重×10,准备拼下一位a /= 10; // 去掉最后一位,继续循环}cout << b; // 输出替换后的新数字return 0;}
四、栏目长期学习规划
本专栏固定每周一期、一套真题,按 GESP1~6 级顺序连载:
✅短期(1~2 个月):刷完一级真题,吃透变量、运算符、if 分支、for 循环、数位拆分;
✅中期(3~6 个月):GESP 二级,数组、嵌套循环、枚举算法专项练习;
✅长期:循序渐进更新 3-6 级,字符串、函数、基础搜索算法全覆盖,搭建完整 C++ 学习体系。
福利 + 下期预告
🎁福利:私信关键词【GESP03】,免费领取整套 PDF 原版试卷 + 答案,可打印刷题。
📅下期预告:下周全新 GESP 一级真题完整精讲,准时更新!