#1461. GESP-C++一级(2025-06)
GESP-C++一级(2025-06)
CCF GESP C++ 一级 (2025 年 06 月)
一、单选题(每题 2 分,共 30 分)
第 1 题 2025 年 4 月 19 日在北京举行了一场颇为瞩目的人形机器人半程马拉松赛。比赛期间,跑动着的机器人会利用身上安装的多个传感器所反馈的数据来调整姿态、保持平衡等,那么这类传感器类似于计算机的 ( )。
{{ select(1) }}
- 处理器
- 存储器
- 输入设备
- 输出设备
第 2 题 在某集成开发环境中调试下面代码段时尝试设置断点和检查局部变量,下面哪个说法是错误的 ( )。
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
{{ select(2) }}
- 断点不可以设在 L1 标记的代码行
- 执行暂停在 L2 标记的代码行时,可以检测 i 的值
- 执行暂停在 L3 标记的代码行时,可以修改 i 的值
- 执行有可能暂停在 L4 标记的代码行
第 3 题 对下列 C++ 的代码,描述准确的是 ( )。
int first = 10;
printf("{%d}\n", First)
{{ select(3) }}
- 执行后输出 10
- 执行后输出 {First}
- 执行后输出 "{First}"
- 编译报错,因为 First 应该是 first
第 4 题 在 C++ 中,下列可以做变量名的是 ( )。
{{ select(4) }}
- X.cpp
- X-cpp
- X#cpp
- X_cpp
第 5 题 C++ 表达式 14-3*3%2 的值是 ( )。
{{ select(5) }}
- 0
- 11
- 13
- -67
第 6 题 下面的 C++ 代码执行后,其输出是 ( )。
int x = 10, y = 20;
x = x + y;
y = x - y;
x = x - y;
cout << x << ' ' << y;
{{ select(6) }}
- 10 20
- 20 10
- 10 10
- 20 20
第 7 题 定义整型变量 int a=16 , 则执行 ++a += 3 之后,a 的值会是 ( )。
{{ select(7) }}
- 3
- 17
- 19
- 20
第 8 题 C++ 的 int 类型变量 X 的值为 8, 如果执行 cout <<(++X)++; , 则输出和执行后 X 的值分别是 ( )。
{{ select(8) }}
- 8 9
- 9 9
- 9 10
- 编译错误,无法执行
第 9 题 下面 C++ 代码执行后的输出是 ( )。
int a,b;
a = 3; b = 4;
printf("a+b=%02d#a+b={a+b}", a+b, a+b);
{{ select(9) }}
- a+b=07#a+b={a+b}
- a+b= 7#a+b=7
- a+b=7#a+b={a+b}
- a+b=7#a+b=7
第 10 题 下面的 C++ 代码用于求 M 天后是星期几,两处横线处分别应填入的代码是 ( )。
int N, M, D;
cout << "当前星期几? "; // 星期日是0
cin >> N;
cout << "求多少天后? "; // 输入正整数
cin >> M;
D = ___________;
if (_____________)
printf("%d天后是星期日", M);
else
printf("%d天后是星期%d", M, D);
(N + M) / 7
D == 0
(N + M) % 7
D == 0
(N + M) / 7
D <= 0
D = 0
(N + M) % 7
{{ select(10) }}
- 1
- 2
- 3
- 4
第 11 题 下面 C++ 代码执行后输出是 ( )。
int i;
for (i = 1; i < 11; i += 3){
continue;
if (i % 2 == 0)
break;
printf("%d#", i);
}
if (i >= 11)
printf("END");
{{ select(11) }}
- END
- 1#
- 1#4#END
- 1#4#7#10#END
第 12 题 下面的 C++ 代码用于求 N 的所有因数 (即能将 N 整除的数), 如输入 12 则将输出 12,6,4,3,2,1 。( )。
1 int i, N;
2 cin >> N;
3 i = N;
4 while (_______){
5 if (N % i == 0)
6 printf("%d,", i);
7 i -= 1;
8 }
9 printf("1");
{{ select(12) }}
- i -= 1
- i == 1
- i > 1
- i >= 1
第 13 题 下面 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;
{{ select(13) }}
- 55
- 15
- 9
- 4
第 14 题 试图编译并执行下面 C++ 代码,下面描述正确的是 ( )。
float x;
x = 101;
x++;
cout << ++x;
{{ select(14) }}
- 输出 101
- 输出 102
- 输出 103
- 编译将报错,无法执行
第 15 题 以下 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++;
}
}
{{ select(15) }}
- int b = (i / 10) / 10;
- int b = (i / 10) % 10;
- int b = (i % 10) / 10;
- int b = (i % 10) % 10;
2 判断题 (每题 2 分,共 20 分)
第 1 题 人们现在参加很多闭卷考试时通常都不允许带智能手机、平板电脑等,此外很多种智能手表同样因为具有嵌入操作系统及通信等功能,所以也不允许随身携带。( )
{{ select(16) }}
- 对
- 错
第 2 题 如果 N 是 C++ 的整型变量,值为 5, 则表达式 (N + !N) 的值为 4。 ( )
{{ select(17) }}
- 对
- 错
第 3 题 在下面 C++ 代码中,删除 break 语句对程序执行结果没有影响。 ( )
int i;
for (i = 0; i < 10; i++){
continue;
cout << i << "#";
break;
}
if (i >= 10)
cout << "END";
{{ select(18) }}
- 对
- 错
第 4 题 删除下面 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";
{{ select(19) }}
- 对
- 错
第 5 题 将下面 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;
{{ select(20) }}
- 对
- 错
第 6 题 交换下面 C++ 代码中的 i += 2 和 cnt += 1 , 交换前后分别运行的两次输出相同。
int i, cnt = 0;
cnt = 0;
while (i < 10){
i += 2;
cnt += 1;
}
cout << cnt;
{{ select(21) }}
- 对
- 错
第 7 题 下面的 C++ 代码执行后将输出 45。(
int cnt;
for (int i = 0; i < 10; i++)
cnt += 1;
cout << cnt;
{{ select(22) }}
- 对
- 错
第 8 题 执行 C++ 代码 cout <<(12 + 12.12) 将报错,因为 12 是 int 类型,而 12.12 是 float 类型,不同类型不能直接运算。( )
{{ select(23) }}
- 对
- 错
第 9 题 在 C++ 代码中,不可以将变量命名为 false, 因为 false 是 C++ 语言的关键字。( )
{{ select(24) }}
- 对
- 错
第 10 题 X 是 C++ 的整型变量,则表达式 3 <X < 5 求值结果是 4。()
{{ select(25) }}
- 对
- 错