2025年6月 GESP C++ 1级认证考试真题(含编程操作题部分)
选 单选题(共 15 题,每题 2 分)
2025年4月19日在北京举行了一场颇为瞩目的人形机器人半程马拉松赛。比赛期间,跑动着的机器人会利用身上安装的多个传感器所反馈的数据来调整姿态、保持平衡等,那么这类传感器类似于计算机的( )。
在某集成开发环境中调试下面代码段时尝试设置断点和检查局部变量,下面哪个说法是错误的( )。
int i,N = 0; // L1
cin >> N; // L2
for (i = 1; i < 9; i++)
if (N % i == 0) break; // L3
if (i < 9)
printf("N不能大于9\n"); // L4
对下列 C++ 的代码,描述准确的是( )。
int first = 10;
printf("{%d}\n", First)
在 C++ 中,下列可以做变量名的是( )。
C++ 表达式 14 - 3 * 3 % 2 的值是( )。
下面的 C++ 代码执行后,其输出是( )。
int x = 10, y = 20;
x = x + y;
y = x - y;
x = x - y;
cout << x << ' ' << y;
定义整型变量 int a = 16 ,则执行 ++a += 3 之后, $a$ 的值会是( )。
C++ 的 int 类型变量 $X$ 的值为 $8$,如果执行 cout << (++X)++;,则输出和执行后 $X$ 的值分别是( )。
下面 C++ 代码执行后的输出是( )。
int a, b;
a = 3;
b = 4;
printf("a+b=%02d#a+b={a+b}", a + b, a + b);
下面的 C++ 代码用于求 $M$ 天后是星期几,两处横线处分别应填入的代码是( )。
int N, M, D;
cout << "当前星期几? "; // 星期日是0
cin >> N;
cout << "求多少天后? "; // 输入正整数
cin >> M;
D = ____________;
if (____________)
printf("%d天后是星期日", M);
else
printf("%d天后是星期%d", M, D);
下面 C++ 代码执行后输出是( )。
int i;
for (i = 1; i < 11; i += 3){
continue;
if (i % 2 == 0)
break;
printf("%d#", i);
}
if (i >= 11)
printf("END");
下面的 C++ 代码用于求 $N$ 的所有因数(即能将 $N$ 整除的数),如输入 $12$ 则将输出 12,6,4,3,2,1。( )。
int i, N;
cin >> N;
i = N;
while (_______){
if (N % i == 0)
printf("%d,", i);
i -= 1;
}
printf("1");
下面 C++ 代码执行后输出的是( )。
int Sum = 0;
for (int i = 0; i < 10; i++){
if (i % 2 == 0)
continue;
if (i % 5 == 0)
break;
Sum += i;
}
cout << Sum;
试图编译并执行下面 C++ 代码,下面描述正确的是( )。
float x;
x = 101;
x++;
cout << ++x;
以下 C++ 代码可以找出百位、十位和个位满足特定条件的三位数,横线处应该填入的是( )
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++;
}
}
判 判断题(共 10 题,每题 2 分)
人们现在参加很多闭卷考试时通常都不允许带智能手机、平板电脑等,此外很多种智能手表同样因为具有嵌入操作系统及通信等功能,所以也不允许随身携带。( )
如果 $N$ 是 C++ 的整型变量,值为 $5$,则表达式 (N + !N) 的值为 $4$。 ( )
在下面 C++ 代码中,删除 break 语句对程序执行结果没有影响。 ( )
int i;
for (i = 0; i < 10; i++){
continue;
cout << i << "#";
break;
}
if (i >= 10)
cout << "END";
删除下面 C++ 代码中的 continue 后其输出是 0#2#4#6#8#。( )
int i;
for (i = 0; i < 10; i++){
if (i % 2 == 0){
cout << i << "#";
continue;
}
}
if (i >= 10)
cout << "END";
将下面 C++ 代码中的 i < 100; i = i + 1 修改为 i < 200; i += i + 1 ,其输出与当前代码输出相同。( )
int cnt = 0;
for (int i = 0; i < 100; i = i + 1)
cnt += 1;
cout << cnt;
交换下面 C++ 代码中的 i += 2 和 cnt += 1,交换前后分别运行的两次输出相同。( )
int i, cnt = 0;
cnt = 0;
while (i < 10){
i += 2;
cnt += 1;
}
cout << cnt;
下面的 C++ 代码执行后将输出 $45$。( )
int cnt;
for (int i = 0; i < 10; i++)
cnt += 1;
cout << cnt;
执行 C++ 代码 cout << (12 + 12.12) 将报错,因为 $12$ 是 int 类型,而 $12.12$ 是 float 类型,不同类型不能直接运算。( )
在 C++ 代码中,不可以将变量命名为 false,因为 false 是 C++ 语言的关键字。( )
$X$ 是 C++ 的整型变量,则表达式 3 < X < 5 求值结果是 $4$。( )
编 编程操作题(共 2 题,共 50 分)
试题名称:假期阅读
时间限制:1.0 s | 内存限制:512.0 MB
题目描述
小 A 有一本厚厚的书。这本书总共有 $n$ 页,小 A 一天中最多只能阅读完其中的 $k$ 页。小 A 的假期总共有 $t$ 天,他想知道在假期中最多能阅读完这本书的多少页。
输入格式
第一行,一个正整数 $n$,表示书的页数。
第二行,一个正整数 $k$,表示小 A 每天最多阅读的页数。
第三行,一个正整数 $t$,表示小 A 假期的天数。
输出格式
一行,一个整数,表示假期中所能阅读的最多页数。
样例输入 #1
8
3
2
样例输出 #1
6
样例输入 #2
19
3
30
样例输出 #2
19
说明/提示
对于所有测试点,保证 $n,k,t$ 均不超过 $1000$。
试题名称:值日
时间限制:1.0 s | 内存限制:512.0 MB
题目描述
小杨和小红是值日生,负责打扫教室。小杨每 $m$ 天值日一次,小红每 $n$ 天值日一次。今天他们两个一起值日,请问至少多少天后,他们会再次同一天值日?
输入格式
第一行,一个正整数 $m$,表示小杨的值日周期;
第二行,一个正整数 $n$,表示小红的值日周期。
输出格式
一行,一个整数,表示至少多少天后他们会再次同一天值日。
样例输入 #1
4
6
样例输出 #1
12
说明/提示
对于所有测试点,保证 $1 \leq m, n \leq 100$。