#117. GESP2026年3月一级选择题
GESP2026年3月一级选择题
2026年03月CCF GESP C++一级单选题(共15题,每题2分,满分30分)
- 2026年春节联欢晚会上一个武术表演节目《武BOT》。节目中多个人形机器人会表演空翻,它们落地可能会有微微踉跄,但都会迅速调整姿态站稳,并适当移动来和前后左右的其他机器人保持原来队列。如果将机器人视作一个计算机系统,那么在该计算机系统中下面哪一项不能作为输入设备( ) {{ select(1) }}
- 检测重心的重力传感器
- 预装的AI算法程序
- 接收动作指令的遥控器
- 拍摄其他机器人的摄像头
- 小明学习编程有一段时间了,他想在图形环境下把当前目录(或文件夹)下的文本文件20260314.txt的名字改一下。他用鼠标左键点击选中该文件后,立即完成下面哪个操作后将处于输入新文件名的状态( ) {{ select(2) }}
- 单击右键并选择弹出菜单中的“重命名”
- 双击左键
- 按功能键F1
- 按回车键
-
有关C++变量与输出语句的说法正确的是( )
{{ select(3) }}

- 为了方便初学者,
cout << (PI)和cout << (pi)效果相同,即变量的大小写不敏感 cout << (PI)修改为cout << (Pi)能正常执行- 不能用 PI 做变量名,因为要保存圆周率这个常量
- 将程序中全部 PI 都改写为 Pai,将能正常执行,不会报错
- C++表达式 3 * 3 % 2 的值为( ) {{ select(4) }}
- 81
- 27
- 4
- 1
- 整型变量 a、b 的初值都是 4,执行相关运算后的输出是( )
{{ select(5) }}

-
61 43 -
52 34 -
62 44 -
62 32
-
有关C++输入输出变量的执行说法正确的是( )
{{ select(6) }}

- 执行时如输入 10,则将输出 10
- 执行时如输入 3.14,将报错
- 执行时如输入 ABC,将报错
- 执行时如输入 -10,将报错
-
执行C++条件判断代码,其说法正确的是( )
{{ select(7) }}

- 如果输入一个正数和一个负数,其输出结果肯定是大于0
- 不管是负整数、正整数亦或0,其结果肯定是大于等于0
- 如果 N 和 M 是相等的整数,将不会有输出
- 如果 N 和 M 输入带有小数点的数,将按整数部分计算
-
下面C++代码执行后的输出是( )
{{ select(8) }}

-
24 5 -
10 5 -
0 4 -
0 5
-
执行下面C++代码段求序列
-1+2+3-4+5+6-7+8+9-10+11+12……之值。例如输入 4,则计算序列前4项的值,规律如序列所示,输出为 0。下面说法中正确的是( )。{{ select(9) }}

- L1行中
i < N + 1应该修为i < N才会符合预期 - L2行中
i % 3 == 1应修改为i % 3 == 0才会符合预期 - L2行中
i % 3 == 1修改为i % 3与当前程序效果相同 - 当前代码能实现题目所描述计算目标
-
下面C++代码的相关说法,正确的是( )
{{ select(10) }}

- 上述代码执行后,其输出是
1#3#5#7#9#9END - 删除 else 后的执行效果与当前代码相同
- 删除 else 且将
cout << i << "#"移入L1行下面,则执行效果与当前代码相同 - 在
cout << i << "END"前增加判断if(i > 10),其执行效果与当前代码相同
-
一个正整数的每位都是个位数,称为数位,最高位非0。下面的C++代码用于求正整数的所有数位之和,简称数位和。如123的各数位分别是1、2、3,则其数位和为1+2+3,结果为6。为实现该目标。横线处应该填写的代码是( )
{{ select(11) }}

-
tnt += N / 10; N /= 10; -
tnt += N % 10; N /= 10; -
tnt += N / 10; N %= 10; -
tnt = tnt + N % 10; N %= 10;
12.小明想要快速知道任给一个正整数中有多少个奇数位(数位值是奇数),下面的C++代码是其实现,横线处应该填入的代码是( )。
{{ select(12) }}

N % 10 % 2 == 0N % 10 % 2 == 1N / 10 / 2 == 1N / 2 / 10 == 0
13.小明和弟弟在玩一个拼数字游戏,游戏规则是:二人各写一个两位正整数M和N;然后将大的数字放在较小的前面,拼成一个4位数;将这个4位数除以3的余数添加到4位数的后面,得到一个5位数;最后判断这个5位数能否被14整除。下面的C++代码用于判断M和N是否符合全部要求。如果符合则输出Y否则输出N。例如输入85和79,可以拼出85792,恰好是14的倍数,则输出Y。关于下面代码描述正确的是( )。
{{ select(13) }}

- 代码段不能完成正确判断
- L1行代码中条件应该改为
M <= N - L2行代码应该改为
if ((Q * 10 + Q / 3) % 14 == 0) - 代码段可以不使用变量 Q,而是在区分 M 和 N 大小后分别直接用它们来判断
-
执行下面C++代码可以判断一个6位正整数 N 的高3位和低3位的差是否是314的倍数。例如 628314 就符合要求。横线处应该填入( )。
{{ select(14) }}

((N % 1000) - (N / 1000)) / 314 == 0((N / 1000) - (N % 1000)) % 314 == 0((N % 1000) - (N / 1000)) / 314((N / 1000) - (N % 1000)) % 314
-
N 是一个正整数。如果 N 的所有奇数位的数位和等于所有偶数位的数位和,则称它是一个“双螺旋数”。例如 12375 的所有奇数位的数位和是9,同时它的所有偶数位的数位和也是9,则 12375 就是一个双螺旋数。下面的C++代码用于判断输入的 N 是否为双螺旋数。空白处应该填入的代码是( )。
{{ select(15) }}

-
N1 += N%10, N /= 10; N2 += N%10, N /= 10; -
N1 += N/10, N /= 10; N2 += N/10, N /= 10; -
N1 += N%10, N %= 10; N2 += N%10, N %= 10; -
N1 += N/10, N %= 10; N2 += N/10, N %= 10;