#G2512C1A. [GESP202512 一级] 客观题
[GESP202512 一级] 客观题
一、单选题(每题 2 分,共 30 分)
- 近日,空中客车公司表示,约6000架空客A320系列飞机需要紧急更换一种易受太阳辐射影响的飞行控制软件。空客表示,在对一起飞行事故分析后的结果显示,强烈的太阳辐射可能会损坏飞行控制系统所需的关键数据,导致判断失误,进而引发飞行异常。那这里的飞行控制系统执行判断的部件最可能是下面的( )。 {{ select(1) }}
- 辐射传感器
- 处理器
- 内存单元
- 输出设备
- 下面的C++代码在某集成开发环境中编译运行时,提示有“Invalid Character”(“无效字符”)错误。可能的原因是( ):

{{ select(2) }}
- L1行代码中的逗号很可能是中文逗号,应该改为英文逗号。
- L1行应该分为两行,分别是 a = 3 和 b = 4。
- 代码运行前没有保存到文件。
- L2和L3不能分为两行,应合并为一行。
- 下面有关C++变量的说法,正确的是( )。 {{ select(3) }}
- 不可以用 for 作为变量名,因为 for 是C++的关键字(保留字)。
_tnt不可以是变量名,因为变量名的第一个字符必须是英文字母。_tnt_不可以是变量名,因为最后一个字符容易与减号混淆。- 可以用 printf 作为变量名,因为 printf 是关键字,但这不是好习惯,因为 printf 有约定的功能与含义。
- X 是C++的整型变量,则
cout << (X=3, X++, ++X);执行后的输出是( )。 {{ select(4) }}
- 3
- 4
- 5
- 不确定
- C++表达式
$2 + 3 * 4 \% 5$的值为( )。 {{ select(5) }}
- 0
- 4
- 14
- 50
-
下面的C++代码执行后,其输出是( )。
a = 3; b = a = 4; printf("%d %d", a, b);{{ select(6) }}
- 4 4
- 3 3
- 3 4
- 4 3
-
下面的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=30
- 10+20=30
- %(N+M)=30
- 错误提示
-
某个整数很长很长,形如:1232123212321……,其规律是从1开始逐一升高到3然后逐一降低到1,然后又逐一升高到3,一直到很长很长。假设最高位编号为1,要求判断从左边最高位开始的第N位数是几?在横线处应该填入的代码是( )。
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) }}
- 99 99
- 100 99
- 99 100
- 100 100
-
有关下面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 END100#100 END100 END- 没有输出
-
两个正整数,只要不相等,就一直进行如下操作:最大数减去最小数得到一个值,该值和两个数的最小数构成新的两个正整数,重复操作,直到两个数相等,此时输出该数。下面的C++代码用于实现该操作,横线处应该填写的代码是( )。
int N, M; cin >> N >> M; while (N != M){ if (N > M) _______________; else _______________; } cout << N;{{ select(12) }}
-
N = N - M M = M - N -
M = M - N N = N - M -
M = N - M N = M - N -
N, M = M, N M, N = N, M
-
如果一个正整数能被3整除,或者某一位能被3整除,则称之为“漂亮数”。下面的C++代码用于判断正整数N是否为漂亮数,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
-
如果正整数N的所有奇因数(即能将N整除的正奇数)的和是27的倍数,则称N是27的神秘数。下面的C++代码用于判断输入的N是否为27的神秘数。如输入53,它有两个奇因数1和53,则将输出 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;
二、判断题(每题 2 分,共 20 分)
- 鸿蒙是华为公司开发的一款操作系统,那么它能够将正确的源程序翻译成目标程序,并运行。( ) {{ select(16) }}
- 正确
- 错误
- C++表达式
$10 * 4 \% 6$和$10 * 2 \% 3$的结果相同。( ) {{ select(17) }}
- 正确
- 错误
-
下面C++代码执行后将输出 0 。 ( )
int i; for (i = 0; i < 10; i++) if (i % 3 == 0) continue; else break; cout << i;{{ select(18) }}
- 正确
- 错误
-
下面C++代码中的
i > -10; i--改为i < 10; i++执行结果相同。( )int tnt = 0; for (int i = 0; i > -10; i--){ if (i < 0) i = -i; tnt += i; } cout << tnt;{{ select(19) }}
- 正确
- 错误
-
下面C++代码执行后将输出 99 ,因为
i < 100不包括100,而是到99。( )int cnt = 0; for (int i = 0; i < 100; i++) cnt += 1; cout << cnt;{{ select(20) }}
- 正确
- 错误
-
下面的C++代码能用于判断输入的正整数是否为对称数。所谓对称数是指从左到右和从右到左读该数,其值相同,121或414等是对称数,而123不是对称数。( )
int n, new_number; cout << "请输入正整数:"; cin >> n; new_number = 0; while (n != 0){ new_number = new_number * 10 + n % 10; n /= 10; } if (n == new_number) cout << "对称数"; else cout << "非对称数";{{ select(21) }}
- 正确
- 错误
-
下面的C++代码执行后将输出 0 。( )
int tnt = 0; for (int i = -100; i < 100; i++) tnt += i; cout << tnt;{{ select(22) }}
- 正确
- 错误
- 某同学执行C++代码时
printf("%g\n", (3 + 3.1415926535));输出 6.14159 而不是 6.1415926535 表明该同学的计算机存在故障需要重新安装C++软件。( ) {{ select(23) }}
- 正确
- 错误
- 如果 x 是C++代码中的 double 型变量,则对
cout << ( x? 1227 : 12.27);编译时将报错,因为 1227 和 12.12 分别是 int 和 double 类型,导致识别混乱。( ) {{ select(24) }}
- 正确
- 错误
- 在C++代码中,不可以将变量命名为 keyword ,因为它是C++语言的关键字。( ) {{ select(25) }}
- 正确
- 错误