#GESP202506C2T1. 单选题(每题 2 分,共 30 分)
单选题(每题 2 分,共 30 分)
一、单选题(每题 2 分,共 30 分)
第 1 题 2025年4月19日在北京举行了一场颇为瞩目的人形机器人半程马拉松赛。比赛期间,跑动着的机器人会利用身上安装的多个传感器所反馈的数据来调整姿态、保持平衡等,那么这类传感器类似于计算机的( )。
{{ select(1) }}
- 处理器
- 存储器
- 输入设备
- 输出设备
第 2 题 小明购置的计算机使用一年后觉得内存不够用了,想购置一个容量更大的内存条,这时他需要的内存条是( )。
{{ select(2) }}
- RAM
- ROM
- CACHE
- EPROM
第 3 题 下面C++代码执行后的输出是( )。
int a=3;
float b = 3.5;
cout << (a *= b);
{{ select(3) }}
- 3
- 3.5
- 10
- 11
第 4 题 下面C++代码用于获得正整数的第3位数,如1234则输出2。如果是一位数或两位数,则输出0。横线处应填入的代码是( )。
int N, remainder;
cout << "请输入正整数:";
cin >> N;
cout << _________________;
{{ select(4) }}
- N % 1000 / 100
- N / 1000 % 100
- N / 1000 / 100
- N % 100 / 100
第 5 题 下面C++代码执行,其输出是( )。
int a, b = (6, 28);
b == a;
a = b;
cout << a << ' ' << b;
{{ select(5) }}
- 6 28
- 6 6
- 28 6
- 28 28
第 6 题 今天星期六,其后第N天星期几?如果是星期一到星期六输出形如:星期1、星期2等,星期天则输出星期天。下面的C++代码用于完成上述要求,横线处应填上的代码是( )。
int N, remainder;
cin >> N;
remainder = _____________;
if(remainder == 0)
printf("星期六后第%d天是星期天\n", N);
else
printf("星期六后第%d天是星期%d\n", N, remainder);
{{ select(6) }}
- (N + 6) / 7
- (N + 6) // 7
- N % 7
- (N + 6) % 7
第 7 题 下面的C++代码执行后其输出是( )。
int i, Sum = 0;
for (i = 1; i < 10; i++){
Sum += i;
if(i % 2) continue;
if(i % 7) break;
}
cout << Sum;
{{ select(7) }}
- 45
- 28
- 3
- 0
第 8 题 下面C++代码执行后其输出是( )。
int i, j;
for(i = 1; i < 12; i++)
for(j = 1; j < i; j++)
if(i * j % 2 == 1)
break;
cout << i * j;
{{ select(8) }}
- 110
- 22
- 12
- 3
第 9 题 下面C++代码执行后输出是( )。
int i, cnt = 0;
for(i = -99; i < 100; i += 2)
cnt = 1 + cnt;
cout << cnt;
{{ select(9) }}
- 101
- 100
- 99
- 98
第 10 题 下面C++代码执行后输出是( )。
int i;
for(i = 1; i < 10; i++){
if(i % 3 != 0){
printf("A#");
continue;
}
else
break;
printf("0#");
}
if(i == 10) cout << "1";
{{ select(10) }}
A#A#
A#0#A#0
A#A#1
A#0#A#0#1
第 11 题 下面C++代码执行后的输出是( )。
int i,j;
for(i = 0; i < 3; i++)
for(j = 0; j < i; j++)
printf("%d#%d-", i, j);
printf("END");
{{ select(11) }}
- 0#0-1#0-2#0-2#1-END
- 0#0-1#0-1#1-2#0-2#1-2#2-3#0-3#1-3#2-END
- 0#0-1#0-1#1-2#0-2#1-2#2-END
- 1#0-2#0-2#1-END
第 12 题 下面C++代码执行后,将输出不能被3整除且除以5余数为2的数。下列选项不能实现的是( )。
int i,j;
for(i = 0; i < 100; i++)
if(______________________)
cout << i << endl;
{{ select(12) }}
(i % 3 != 0) && (i % 5 == 2)
(i % 3) && (i % 5 == 2)
(i % 3) && !(i % 5 != 2)
!(i % 3) && (i % 5 == 2)
第 13 题 下面C++代码用于判断一个大于0的正整数是几位数,横线处应填入代码先后是( )。
int N, cnt;
cout << "请输入大于0的正整数:";
cin >> N;
cnt = 0;
while (_________){
cnt += 1;
______________;
}
cout << cnt;
{{ select(13) }}
N > 1
和N = N / 10
N > 1
和N /= 10
N == 0
和N /= 10
N > 0
和N /= 10
第 14 题 判断一个数是否为自守数。自守数的定义是如果一个数的平方其尾数与该数相同,则为自守数,如25的平方是625,其尾数是25,所以25是自守数。相关说法错误的是( )。
int N, N1, M1;
cout << "输入一个正整数:";
cin >> N;
N1 = N, M1 = N * N;
bool Flag = true;
while (N1 > 0){
if (N1 % 10 != M1 % 10){
Flag = false;
break;
}
else{
N1 = N1 / 10, M1 = M1 / 10;
}
}
if (Flag == true)
printf("%d的平方是%d,是自守数", N, N * N);
else
printf("%d的平方是%d,不是自守数", N, N * N);
{{ select(14) }}
- 如果Flag在循环中不被改为false,则说明该数是自守数
- 代码
if (N1 % 10 != M1 % 10)
用于判断其个位数是否相等,如果不等,则表明不是自守数 - 代码
N1 = N1 / 10, M1 = M1 / 10
将个位数去掉 - 将
N1 > 0
改为N > 0
效果相同
第 15 题 下面C++代码实现输出如下图形,相关说法错误的是( )。
请输入层数: 10
0
12
345
6789
01234
567890
1234567
89012345
678901234
5678901234
int line_number, now_number;
int i,row;
cout << "请输入行数: ";
cin >> line_number;
now_number = 0;
for (row = 1; row < line_number + 1; row++){ // L1
for (i = 0; i < row; i++){ // L2
cout << now_number;
now_number += 1;
if (now_number == 10) now_number = 0; // L3
}
cout << endl;
}
{{ select(15) }}
- 代码
now_number = 0
移动到 L1 和 L2 标记的两行代码之间,效果维持不变 - 代码
now_number += 1
修改为now_number = 1 + now_number
效果维持不变 - 将代码
now_number == 10
调整为now_number > 9
效果维持不变 - 将最后一行的
cout << endl
修改为cout << "\n"
,效果维持不变