视频讲解:GESP2026年3月二级C++真题讲解
一、单选题
第1题

解析:
答案B,ACD选项都是向机器人输入信息,是输入设备
第2题

解析:
答案D,判断是 " 菱形框 "
第3题

解析:
答案D,变量名区分大小写
第4题

解析:
答案C,条件要表达的是不满足 x>5 && y<=10,即C选项
第5题

解析:
答案B,c++小数运算会存在精度误差的问题
cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
double a = 0.1;
double b = 0.2;
// 理论应该是 0.3
// cout<<fixed<<setprecision(20)<<a+b<<endl;
// cout<<fixed<<setprecision(20)<<0.3<<endl;
// 理论应该是 true
if (a + b == 0.3) {
cout << "相等" << endl;
} else {
cout << "不相等!!!有精度误差" << endl;
}
return 0;
}
第6题

解析:
答案A,i、j的实际循环过程
cpp
i:0 j:无 tnt=0
i:1 j:0 tnt=1
i:2 j:0 1 tnt=3
i:3 j:0 1 2 tnt=6
i:4 j:0 1 2 3 tnt=10
第7题

解析:
答案A,
cpp
i循环为: -2 -1 0 1
not -2 % 3
=not true % 3
=false % 3
=0 % 3
=0
所以只有i为0时,才满足条件,只输出0#
第8题

解析:
答案C,
cpp
i循环为:1 2 3 4,5退出
i为1时,j循环为:0
break直接退出,此时i为1
if(i>=5)不满足
第9题

解析:
答案C,
cpp
i:1 j:1 2 4
i:2 直接退出
i:3 j:1 2 4
第10题

解析:
答案A,起点为0,终点<5
第11题

解析:
答案B,n循环到5时,退出
第12题

解析:
答案C,
cpp
i:1 j:-1 0 循环2次
i:2 j:-2 -1 0 1 循环4次
i:3 j:-3 -2 -1 0 1 2 循环6次
i:4 j:-4 -3 -2 -1 0 1 2 3 循环8次
2+4+6+8=20
第13题

解析:
答案B,
第1个空:获取个位进行累加
第2个空:判断 "前4位之和%10" 是否等于 最后1位
第14题

解析:
答案A,
cpp
i:1 j:1
i:2 j:1 2
i:3 j:1 2 3
i:4 j:1 2 3 4
第15题

解析:
答案A,
第1个空:累加分数
第2个空:>=6分的人数+1
二、判断题
第1题

解析:
答案√,操作各种软件功能,就是操作系统
第2题

解析:
答案×,字符做运算是用ASCII值
第3题

解析:
答案×,布尔类型做运算,false代表0,true代表1
第4题

解析:
答案√,
cpp
i循环为:0 1 2 3 4 5 6 7 8 9
0%3=1,为false
1%3=1,为true
2%3=2,为true
3%3=0,为false
...
所以只有0 3 6 9为false,输出
第5题

解析:
答案√,当N为false、0等,while不执行,其他都是true,即死循环
第6题

解析:
答案√,循环内,continue后没有语句,continue没有效果
第7题

解析:
答案√,当i为123时,数位拆分为123、12、1、0,始终为正数,abs()取绝对值,不影响程序功能
第8题

解析:
答案×,break只退出一层循环,i会正常循环到10退出
第9题

解析:
答案×,i循环到5退出,最后一定是5的倍数,不可能是16
第10题

解析:
答案√,%3d的意思就是占3个位置
三、编程题
第1题 [GESP202603 二级] 数数
题目描述
对于正整数 n,如果 n 的所有数位中包含恰好 3 个 2,Alice 会认为这个正整数是美丽的。例如,正整数 24122 中包含 3 个 2,所以 24122 是美丽的;正整数 132 中包含 1 个 2,所以 132 不是美丽的;正整数 212322 中包含 4 个 2,所以 212322 不是美丽的。
Alice 想知道正整数 L 到正整数 R(包括 L 和 R)中有多少美丽的正整数,你能帮她数一数吗?
输入格式
输入共 2 行,第一行为正整数 L,第二行为正整数 R。
输出格式
输出一行,包含一个整数 C,表示 L 到 R 中 C 美丽数的数量。
输入输出样例
输入 #1
2221
2223
输出 #1
2
说明/提示
样例解释
2221 到 2223 中,2221 与 2223 是美丽的,2222 不是美丽的。
数据范围
保证 1 ≤ L ≤ R ≤ 。
答案
cpp
#include<iostream>
第2题 [GESP202603 二级] 画画
题目描述
输入一个正整数 n,你需要绘制一个 n 行 n 列的正方形,绘制规则如下:
- 正方形的四个顶点使用
+绘制; - 除顶点外,第 1 行与第 n 行使用
-绘制; - 除顶点外,第 1 列与第 n 列使用
|绘制; - 正方形内部使用
*绘制。
输入格式
一行,一个正整数 n。
输出格式
输出共 n 行,表示对应的正方形。
输入输出样例
输入 #1
5
输出 #1
+---+
|***|
|***|
|***|
+---+
说明/提示
数据范围
保证 3 ≤ n ≤ 100。
答案
cpp
#include<iostream>