#1647. GESP-C++一级(2026-06)
GESP-C++一级(2026-06)
CCF GESP C++ 一级 (2026 年 06 月)
一、单选题(每题 2 分,共 30 分)
1. 学校组织到未来农场参观,⼩明听讲解员介绍,在智能温室中,湿度传感器可以连续检测⼟壤的湿度变化, 并将检测到的湿度数据实时发送给中央控制器。中央控制器根据这些数据判断是否开启灌溉系统。请问,这⾥的湿 度传感器所发挥的作⽤,类似于计算机系统中的哪⼀类组件?( )
{{ select(1) }}
- 处理器
- 存储器
- 输⼊设备
- 输出设备
2. 在使⽤某集成开发环境(⽐如 Dev-C++)来编辑源代码⽂件时,程序员经常需要在编辑区中对代码进⾏各种 修改。以下关于在编辑区中执⾏的操作描述不正确的( )。
{{ select(2) }}
- 可以将变量名 count 统⼀修改为 number
- 可以连续撤销最近 次输⼊的内容
- 可以调整代码⾏的缩进(如按 Tab 键)
- 在注释⽂本中间不能混⽤中英⽂
3. 有关如下 C++ 代码的说法,正确的是( )
float a = 3 + 3.5;
cout << a;
{{ select(3) }}
- 代码执⾏将报错。如果将 a = 3 + 3.5 改为 a = 3 + 3 + 1/2 将能正常执⾏。
- 代码执⾏将报错。如果将 a = 3 + 3.5 改为 a = 3.0 + 3.5 将能正常执⾏。
- 代码能正常执⾏,将输出 6 。
- 代码能正常执⾏,将输出 6.5 。
4. 下列 C++ 表达式与 - 2 * 2 % 4 的值不同的是( )
{{ select(4) }}
- (2 * 2) % 4
- (- 2 * 2) % 4
- 2 * (2 % 4)
- (2 * 2) % - 4
5. 执⾏如下 C++ 代码⽚段,其输出是( )
int a = 3;
int b = a;
a = 4;
printf("%d %d", a, b);
{{ select(5) }}
- 3 3
- 4 3
- 4 4
- 3 4
6. 如下 C++ 代码执⾏时输⼊ 2026-6-27 ,下列说法正确的是( )
int N;
cin >> N;
cout << N;
{{ select(6) }}
- 输⼊失败,不允许输⼊减号,没有输出
- 允许输⼊,输出 1993
- 允许输⼊并原样输出 2026-6-27
- 允许输⼊并输出 2026
7. 如下 C++ 代码执⾏时,其说法错误的是( ) 3
if (N > M)
cout << "A " << (N - M);
else
cout << "B " << (M - N);
{{ select(7) }}
- 如果输⼊ 4 3 ,将输出 A 1
- 如果输⼊ 3 4 ,将输出 B 1
- 如果输⼊ 3 3 ,将输出 A 0
- 如果输⼊ 4 4 ,将输出 B 0
8. 阅读如下 C++ 代码,下列说法错误的是( )
int cnt = 0;
for (int i = 0; i < 5; i++)
cnt += 1;
cout << cnt;
{{ select(8) }}
- 将 cnt += 1 修改为 cnt = cnt + 1 ,执⾏效果相同
- 将 cnt += 1 修改为 cnt = 1 + cnt ,执⾏效果相同
- 将 cnt += 1 修改为 cnt =+ 1 ,执⾏效果相同
- 将 cnt += 1 修改为 cnt = + 1 + cnt ,执⾏效果相同
9. 如下 C++ 代码执⾏后输出是 1 2 3 4 5 6 7 8 9 10 11 5 6 7 8 9 10 11 5 6 7 8 9 10 11 5 6 7 8 9 10 11 5 6 7 。横线处应该先后依次填⼊的运算符是( )。####
int num = 1;
for (int i = 0; i < 35; i++) {
printf("%d ", num);
if (num _______ 10)
num _______ 2;
else
num _______ 1;
}
{{ select(9) }}
- > /= +=
- >= %= +=
- > %= +=
- > /= =+
10. 如下 C++ 代码可以执⾏,其输出是( )
int i;
for (i = 1; i < 5; i++)
if (i % 2 == 0) {
continue;
cout << i << "#";
}
cout << i << "END#";
{{ select(10) }}
- 5END#
- 5#END
- 1#3#4#END
- 1#3#4 END#
11. 如下 C++ 代码执⾏时,下列说法正确的是( )
int N, i;
cin >> N;
for (i = 2; i < N; i++)
if (N % i == 0) {
cout << "1#";
break;
} else
cout << "0#";
{{ select(11) }}
- 如果输⼊ 2 ,将输出 1# 。
- 如果输⼊ 15 ,将输出 0#1# 。
- 如果输⼊ 1 ,将输出 0# 。
- 如果输⼊ 3 ,将输出 1# 。
12. 有关如下 C++ 代码,下列说法中错误的是( )
int i, tot;
i = 0, tot = 0;
while (0 <= i && i < 10) {
tot += 1;
i += 1;
}
cout << tot;
{{ select(12) }}
- 如果调整 0 <= i && i < 10 为 1 <= i && i < 10 ,输出同样为 45 ,因为加上 0 不影响结果。
- 如果将 i = 0 和 tot = 0 合并为 i = tot = 0 ,执⾏结果与修改前相同。
- 将 tot += 1 与 i += 1 交换顺序,执⾏结果与修改前相同。
- 将 i = 0 与 tot = 0 交换顺序,执⾏结果与修改前相同。
13. 以下 C++ 代码可以找出千位、百位、⼗位和个位满⾜特定条件的四位数(例如各位数字的四次⽅和等于原 数,即“四叶玫瑰数”),横线处应该填⼊的是( )。
int count = 0;
for (int n = 1000; n <= 9999; n++) {
int a = n / 1000;
int b = (n / 100) % 10;
_________________________ // L1
int d = n % 10;
if (a * a * a * a + b * b * b * b + c * c * c * c + d * d * d * d == n) { // 特定条件
count++;
}
}
{{ select(13) }}
- int c = (n / 10) / 10;
- int c = (n / 10) % 10;
- int c = (n % 10) / 10;
- int c = (n % 10) % 10;
14. 下⾯的 C++ 代码⽤于计算经过 n 秒后的秒针位置( ),两处横线处分别应填⼊的代码是( ) 6
pos = ____________; // L1
if (____________) // L2
cout << n << "秒后回到12点方向" << endl;
else
cout << n << "秒后指向" << pos << "秒刻度" << endl;
{{ select(14) }}
- (start + n) / 60 和 pos == 0
- (start + n) % 60 和 pos == 0
- (start + n) / 60 和 pos <= 0
- (start + n) % 60 和 pos = 0
15. 如果正整数 N 只能被 1 和它本⾝整除,则它是⼀个质数(或素数)。下⾯的 C++ 代码⽤于判断正整数 N 是否为质数(素数)。若 N 是质数,输出 YES ,否则输出 NO 。横线处不应填⼊的代码是( )。
/ 10
int N, i;
cin >> N;
if (N <= 1) {
cout << "NO";
return 0;
}
for (i = 2; ______; i++) {
if (N % i == 0) {
cout << "NO";
return 0;
}
}
cout << "YES";
{{ select(15) }}
- i < N
- i <= N
- i <= N / 2
- i * i <= N
二、判断题(每题 2 分,共 20 分)
1. ⼜到期末考试周,⼩明发现这次许多闭卷考试不仅禁⽌携带⼿机、平板电脑,还有最近⽐较时髦的各类 AI 眼镜(也有叫智能眼镜)也同样不允许带⼊考场。这些 AI 眼镜应该也是内置了操作系统并可能⽀持 Wi-Fi 或蓝⽛连 接。
{{ select(16) }}
- 对
- 错
2. 如果 n 为⼤于 的整数,则 C++ 表达式 (n / 10) % 10 与 (n % 100) / 10 的结果相同
{{ select(17) }}
- 对
- 错
3. 下⾯ C++ 代码执⾏后将输出 19
{{ select(18) }}
- 对
- 错
4. 在数学中, 称之为 的阶乘,其含义是 到 之积,包括 。如 。如下 C++ 代码能 输出 的结果。
{{ select(19) }}
- 对
- 错
5. 如下 C++ 代码能实现输出正整数 N 的各位数字
{{ select(20) }}
- 对
- 错
6. 将如下 C++ 代码中的 printf("\n") 更换为 printf("%c", '\n') ,输出效果相同
{{ select(21) }}
- 对
- 错
7. C++ 代码 cout << (2.5 % 2) 能够⽣成可执⾏代码,但执⾏时将报错,因为 % 只能适⽤于正整数
{{ select(22) }}
- 对
- 错
8. 下⾯的 C++ 代码执⾏后将输出 24
{{ select(23) }}
- 对
- 错
9. 如果 a 是 C++ 的整型变量,值为 4 ,则表达式 (a % 2 == 0) + (a / 2) 的值为 4
{{ select(24) }}
- 对
- 错
10. 删除下⾯ C++ 代码中的 continue 后,其输出与原来相同
{{ select(25) }}
- 对
- 错