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