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 有⼀本厚厚的书。这本书总共有 页,⼩ A ⼀天中最多只能阅读完其中的 页。⼩ A 的假期总共有 天,他想
知道在假期中最多能阅读完这本书的多少页。
输入格式
第⼀⾏,⼀个正整数 ,表⽰书的页数。
第⼆⾏,⼀个正整数 ,表⽰⼩ A 每天最多阅读的页数。
第三⾏,⼀个正整数 ,表⽰⼩ A 假期的天数。
输出格式
⼀⾏,⼀个整数,表⽰假期中所能阅读的最多页数。
数据范围
对于所有测试点,保证 均不超过 。
试题名称:值⽇
时间限制:1.0 s | 内存限制:512.0 MB
题目描述
⼩杨和⼩红是值⽇⽣,负责打扫教室。⼩杨每 天值⽇⼀次,⼩红每 天值⽇⼀次。今天他们两个⼀起值⽇,请问
⾄少多少天后,他们会再次同⼀天值⽇?
输入格式
第⼀⾏,⼀个正整数 ,表⽰⼩杨的值⽇周期;
第⼆⾏,⼀个正整数 ,表⽰⼩红的值⽇周期。
输出格式
⼀⾏,⼀个整数,表⽰⾄少多少天后他们会再次同⼀天值⽇。
数据范围
对于所有测试点,保证 。