#GESP202512C1T1. 单选题(每题 2 分,共 30 分)
单选题(每题 2 分,共 30 分)
- 近日,空中客车公司表示,约 6000 架空客 A320 系列飞机需要紧急更换一种易受太阳辐射影响的飞行控制软件。空客表示,在对一起飞行事故分析后的结果显示,强烈的太阳辐射可能会损坏飞行控制系统所需的关键数据,导致判断失误,进而引发飞行异常。那这里的飞行控制系统执行判断的部件最可能是下面的( )。
{{ select(1) }}
- 辐射传感器
- 处理器
- 内存单元
- 输出设备
- 下面的 C++ 代码在某集成开发环境中编译运行时,提示有“Invalid Character”(“无效字符”)错误。可能的原因是( ):
int a, b;
a=3, b = 4; // L1
cout << a; // L2
cout << b; // L3
{{ select(2) }}
- L1 行代码中的逗号很可能是中文逗号,应该改为英文逗号。
- L1 行应该分为两行,分别是
a = 3和b = 4。 - 代码运行前没有保存到文件。
- L2 和 L3 不能分为两行,应合并为一行。
- 下面有关 C++ 变量的说法,正确的是( )。
{{ select(3) }}
- 不可以用
for作为变量名,因为for是 C++ 的关键字(保留字)。 _tnt不可以是变量名,因为变量名的第一个字符必须是英文字母。_tnt_不可以是变量名,因为最后一个字符容易与减号混淆。- 可以用
printf作为变量名,因为printf是关键字,但这不是好习惯,因为printf有约定的功能与含义。
- 是 C++ 的整型变量,则
cout << (X=3, X++, ++X);执行后的输出是( )。
{{ select(4) }}
- 不确定
- C++ 表达式
2 + 3 * 4 % 5的值为( )。
{{ select(5) }}
- 下面的 C++ 代码执行后,其输出是( )。
a = 3;
b = a = 4;
printf("%d %d", a, b);
{{ select(6) }}
- 下面的 C++ 代码执行时如果先输入 10 回车后输入 20 并回车,其输出是( )。
int N, M;
printf("第一个数:");
scanf("%d", &N);
printf("第二个数:");
scanf("%d", &M);
printf("%(N+M)=%d", N+M, int(N+M));
{{ select(7) }}
30=3010+20=30%(N+M)=30- 错误提示
- 某个整数很长很长,形如:,其规律是从 开始逐一升高到 然后逐一降低到 ,然后又逐一升高到 ,一直到很长很长。假设最高位编号为 ,要求判断从左边最高位开始的第 位数是几?在横线处应该填入的代码是( )。
int N, M;
cout << "请输入编号: ";
cin >> N;
M = ______________;
if (M != 0)
cout << M;
else
cout << 2;
{{ select(8) }}
N % 4N / 4N % 3N / 3
- 下面 C++ 代码执行后的输出是( )。
int i, tnt = 0;
for (i = 0; i < 100; i++)
tnt += 1;
cout << tnt << ' ' << i;
{{ select(9) }}
- 有关下面 C++ 代码的说法,错误的是( )。
int tnt = 0;
for (int i = 1; i < 10; i += 2) // L1
tnt += i; // L2
cout << tnt;
{{ select(10) }}
- L1 的
i < 10改为i < 11结果相同。 - L1 的
i = 1改为i = 0结果相同。 tnt += i与tnt = tnt + i效果相同。tnt += i与tnt = i + tnt效果相同。
- 下面 C++ 代码执行后输出是( )。
int i;
for (i = 10; i < 100; i += 10){
if (i % 10 == 0)
continue;
printf("%d#",i);
}
if(i >= 100)
printf("%d END",i);
{{ select(11) }}
- 10#20#30#40#50#60#70#80#90#100 END
- 100#100 END
- 100 END
- 没有输出
- 两个正整数,只要不相等,就一直进行如下操作:最大数减去最小数得到一个值,该值和两个数的最小数构成新的两个正整数,重复操作,直到两个数相等,此时输出该数。下面的 C++ 代码用于实现该操作,横线处应该填写的代码是( )。
int N, M;
cin >> N >> M;
while (N != M) {
if (N > M)
____________;
else
____________;
}
cout << N;
A.
1 N = N - M
2 M = M - N
B.
1 M = M - N
2 N = N - M
C.
1 M = N - M
2 N = M - N
D.
1 N, M = M, N
2 M, N = N, M
{{ select(12) }}
- A
- B
- C
- D
- 如果一个正整数能被 整除,或者某一位能被 整除,则称之为“漂亮数”。下面的 C++ 代码用于判断正整数 是否为漂亮数,L1 行的横线处应该填入的代码是( )。
int N, Flag;
cin >> N;
Flag = 0; // "非漂亮数"
if (N % 3 == 0)
Flag = 1; // "漂亮数"
else
while (N != 0){
if (_____________){ // L1
Flag = 1;
break;
}
N /= 10;
}
cout << (Flag? "漂亮数" : "非漂亮数");
{{ select(13) }}
N % 10 == 0N % 3 % 10 == 0N % 10 % 3N % 10 % 3 == 0
- 如果正整数 的所有奇因数(即能将 整除的正奇数)的和是 的倍数,则称 是 的神秘数。下面的 C++ 代码用于判断输入的 是否为 的神秘数。如输入 ,它有两个奇因数 和 ,则将输出 Y。( )。
int i, N, cnt = 0;
cin >> N;
for (i=1; i <=N; i++){
if (_____________)
cnt += i;
}
if(cnt % 27 == 0)
cout << 'Y';
{{ select(14) }}
(N % i) && (i % 2)(N % i == 0) && (i % 2 == 0)(N % i == 0) && (i % 2)(N % i) && (i % 2 == 0)
- 执行下面 C++ 代码可以找出千位与个位的和恰好等于中间两位的四位数,横线处应该填入( )。
int count = 0;
int a, bc, d, tmp;
for (int i = 1000; i <= 9999; i++) {
a = (tmp = i) / 1000;
------------------
bc = tmp / 10;
d = tmp - bc * 10;
if (a + d == bc) {
count++;
}
}
cout << count;
{{ select(15) }}
tmp = i / 10;tmp = i % 100;tmp -= a * 1000;tmp = i - i%1000;