#GESP1308. [GESP202512一级] 客观题
[GESP202512一级] 客观题
一、单选题(每题 2 分,共 30 分)
第 1 题 近日,空中客车公司表示,约 架空客 系列飞机需要紧急更换⼀种易受太阳辐射影响的飞行控制软件。空客表示,在对⼀起飞行事故分析后的结果显示,强烈的太阳辐射可能会损坏飞行控制系统所需的关键数据,导致判断失误,进而引发飞行异常。那这里的飞行控制系统执行判断的部件最可能是下面的 ( )
{{ select(1) }}
- 辐射传感器
- 处理器
- 内存单元
- 输出设备
第 2 题 下⾯的 C++ 代码在某集成开发环境中编译运行时,提示有 "Invalid Character" ("无效字符")错误。可能的原因是 ( )
01 int a, b;
02 a=3,b = 4; // L1
03 cout << a; // L2
04 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) }}
- 不确定
第 5 题 C++ 表达式 2 + 3 * 4 % 5 的值为( )
{{ select(5) }}
第 6 题 下面的 C++ 代码执⾏后,其输出是( )
01 a = 3;
02 b = a = 4;
03 printf("%d %d", a, b);
{{ select(6) }}
4 43 33 44 3
第 7 题 下面的 C++ 代码执行时如果先输⼊ 回车后输入 并回车,其输出是 ( )。
01 int N,M;
02 printf("第一个数:");
03 scanf("%d", &N);
04 printf("第二个数:");
05 scanf("%d", &M);
06 printf("%%(N+M)=%d", N+M, int(N+M));
{{ select(7) }}
30=3010+20=30%(N+M)=30- 错误提示
第 8 题 某个整数很长很长,形如:1232123212321……,其规律是从 开始逐⼀升高到 然后逐⼀降低到 ,然后又逐⼀升高到 ,⼀直到很长很长。假设最高位编号为 ,要求判断从左边最高位开始的第 位数是几?在横线处应该填入的代码是( )
01 int N, M;
02 cout << "请输入编号:";
03 cin >> N;
04 M = ________________;
05 if (M != 0)
06 cout << M;
07 else
08 cout << 2;
{{ select(8) }}
N % 4N / 4N % 3N / 3
第 9 题 下面 C++ 代码执行后的输出是( )
01 int i, tnt = 0;
02 for (i = 0; i < 100; i++)
03 tnt += 1;
04 cout << tnt << ' ' << i;
{{ select(9) }}
99 99100 9999 100100 100
第 10 题 有关下面 C++ 代码的说法,错误的是 ( )
01 int tnt = 0;
02 for (int i = 1; i < 10; i += 2) // L1
03 tnt += i; // L2
04 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++ 代码执行后输出是 ( )
01 int i;
02 for (i = 10; i < 100; i += 10){
03 if (i % 10 == 0)
04 continue;
05 printf("%d#",i);
06 }
07 if(i >= 100)
08 printf("%d END",i);
{{ select(11) }}
10#20#30#40#50#60#70#80#90#100 END100#100 END100 END- 没有输出
第 12 题 两个正整数,只要不相等,就⼀直进行如下操作:最大数减去最小数得到一个值,该值和两个数的最小数构成新的两个正整数,重复操作,直到两个数相等,此时输出该数。下面的 C++ 代码用于实现该操作,横线处应该填写的代码是 ( )
01 int N, M;
02 cin >> N >> M;
03
04 while (N != M){
05 if (N > M)
06 _______________;
07 else
08 _______________;
09 }
10
11 cout << N;
{{ select(12) }}
-
01 N = N - M 02 M = M - N -
01 M = M - N 02 N = N - M -
01 M = N - M 02 N = M - N -
01 N, M = M, N 02 M, N = N, M
第 13 题 如果一个正整数能被 整除,或者某一位能被 整除,则称之为“漂亮数”。下面的 C++ 代码用于判断正整数 是否为漂亮数,L1 行的横线处应该填入的代码是( )
01 int N, Flag;
02 cin >> N;
03
04 Flag = 0; // "非漂亮数"
05 if (N % 3 == 0)
06 Flag = 1; //"漂亮数"
07 else
08 while (N != 0){
09 if (_______________){ // L1
10 Flag = 1;
11 break;
12 }
13 N /= 10;
14 }
15 cout << (Flag? "漂亮数" : "非漂亮数");
{{ select(13) }}
N % 10 == 0N % 3 % 10 == 0N % 10 % 3N % 10 % 3 == 0
第 14 题 如果正整数 的所有奇因数(即能将 整除的正奇数)的和是 的倍数,则称 是 的神秘数。下面的 C++ 代码用于判断输入的 是否为 的神秘数。如输入 ,它有两个奇因数 和 ,则将输出 Y。( )
01 int i, N, cnt = 0;
02 cin >> N;
03 for (i=1; i <=N; i++){
04 if (_________________)
05 cnt += i;
06 }
07 if(cnt % 27 == 0)
08 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++ 代码可以找出千位与个位的和恰好等于中间两位的四位数,横线处应该填入( )
01 int count = 0;
02 int a, bc, d, tmp;
03 for (int i = 1000; i <= 9999; i++) {
04 a = (tmp = i) / 1000;
05 _________________________
06 bc = tmp / 10;
07 d = tmp - bc * 10;
08 if ( a + d == bc) {
09 count++;
10 }
11 }
12 cout << count;
{{ select(15) }}
tmp = i / 10;tmp = i % 100;tmp -= a * 1000;tmp = i - i%1000;
二、判断题(每题 2 分,共 20 分)
第 1 题 鸿蒙是华为公司开发的一款操作系统,那么它能够将正确的源程序翻译成目标程序,并运行。
{{ select(16) }}
- 正确
- 错误
第 2 题 C++ 表达式 10 * 4 % 6 和 10 * 2 % 3 的结果相同。
{{ select(17) }}
- 正确
- 错误
第 3 题 下面 C++ 代码执行后将输出 。
01 int i;
02 for (i = 0; i < 10; i++)
03 if (i % 3 == 0)
04 continue;
05 else
06 break;
07 cout << i;
{{ select(18) }}
- 正确
- 错误
第 4 题 下面 C++ 代码中的 i > -10; i-- 改为
i < 10; i++ 执行结果相同。
01 int tnt = 0;
02 for (int i = 0; i > -10; i--){
03 if (i < 0)
04 i = -i;
05 tnt += i;
06 }
07 cout << tnt;
{{ select(19) }}
- 正确
- 错误
第 5 题 下面 C++ 代码执行后将输出 ,因为 i < 100 不包括 ,而是到 。
01 int cnt = 0;
02 for (int i = 0; i < 100; i++)
03 cnt += 1;
04 cout << cnt;
{{ select(20) }}
- 正确
- 错误
第 6 题 下面的 C++ 代码能用于判断输入的正整数是否为对称数。所谓对称数是指从左到右和从右到左读该数,其值相同, 或 等是对称数,而 不是对称数。( )
01 int n, new_number;
02 cout << "请输入正整数:";
03 cin >> n;
04 new_number = 0;
05
06 while (n != 0){
07 new_number = new_number * 10 + n % 10;
08 n /= 10;
09 }
10
11 if (n == new_number)
12 cout << "对称数";
13 else
14 cout << "非对称数";
{{ select(21) }}
- 正确
- 错误
第 7 题 下面的 C++ 代码执行后将输出 。
01 int tnt = 0;
02 for (int i = -100; i < 100; i++)
03 tnt += i;
04 cout << tnt;
{{ select(22) }}
- 正确
- 错误
第 8 题 某同学执行 C++ 代码时 printf("%g\n", (3 + 3.1415926535)); 输出 而不是 表明该同学的计算机存在故障需要重新安装C++ 软件。
{{ select(23) }}
- 正确
- 错误
第 9 题 如果 是 C++ 代码中的 型变量,则对 cout << ( x? 1227 : 12.27); 编译时将报错,因为 和 分别是 和 类型,导致识别混乱。
{{ select(24) }}
- 正确
- 错误
第 10 题 在 C++ 代码中,不可以将变量命名为 ,因为它是 C++ 语言的关键字。
{{ select(25) }}
- 正确
- 错误