#454. [GESP202512 一级] 客观题

[GESP202512 一级] 客观题

单选题(每题 2 分,共 30 分)

  1. 近日,空中客车公司表示,约 60006000 架空客 A320 系列飞机需要紧急更换一种易受太阳辐射影响的飞行控制软件。空客表示,在对一起飞行事故分析后的结果显示,强烈的太阳辐射可能会损坏飞行控制系统所需的关键数据,导致判断失误,进而引发飞行异常。那这里的飞行控制系统执行判断的部件最可能是下面的( )。

{{ select(1) }}

  • 辐射传感器
  • 处理器
  • 内存单元
  • 输出设备
  1. 下面的 C++ 代码在某集成开发环境中编译运行时,提示有“Invalid Character”(“无效字符”)错误。可能的原因是( ):
int a, b;
a=3, b = 4; // L1
cout << a; // L2
cout << b; // L3

{{ select(2) }}

  • L1 行代码中的逗号很可能是中文逗号 ,应该改为英文逗号 ,
  • L1 行应该分为两行,分别是 a=3b=4
  • 代码运行前没有保存到文件。
  • L2L3 不能分为两行,应合并为一行。
  1. 下面有关 C++ 变量的说法,正确的是( )。

{{ select(3) }}

  • 不可以用 for 作为变量名,因为 for 是 C++ 的关键字(保留字)。
  • _tnt 不可以是变量名,因为变量名的第一个字符必须是英文字母。
  • _tnt_ 不可以是变量名,因为最后一个字符容易与减号混淆。
  • 可以用 printf 作为变量名,因为 printf 不是关键字,但这不是好习惯,因为 printf 有约定的功能与含义。
  1. XX 是 C++ 的整型变量,则 cout <<(X=3,X++,++X); 执行后的输出是( )。

{{ select(4) }}

  • 33
  • 44
  • 55
  • 不确定
  1. C++ 表达式 2+3*4%5 的值为( )。

{{ select(5) }}

  • 00
  • 44
  • 1414
  • 5050
  1. 下面的 C++ 代码执行后,其输出是( )。
a = 3;
b = a = 4;
printf("%d %d", a, b);

{{ select(6) }}

  • 44 44
  • 33 33
  • 33 44
  • 44 33
  1. 下面的 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
  • 错误提示
  1. 某个整数很长很长,形如:1232123212321...,其规律是从 11 开始逐一升高到 33 然后逐一降低到 11,然后又逐一升高到 33,一直到很长很长。假设最高位编号为 11,要求判断从左边最高位开始的第 NN 位数是几?在横线处应该填入的代码是( )。
int N, M;
cout << "请输入编号:";
cin >> N;
M = ___;
if (M != 0)
    cout << M;
else
    cout << 2;

{{ select(8) }}

  • N % 4
  • N / 4
  • N % 3
  • N/3
  1. 下面 C++ 代码执行后的输出是( )。
int i, tnt = 0;
for (i = 0; i < 100; i++)
    tnt += 1;
cout << tnt << ' ' << i;

{{ select(9) }}

  • 9999 9999
  • 100100 9999
  • 9999 100100
  • 100100 100100
  1. 有关下面 C++ 代码的说法,错误的是( )。
int tnt = 0;
for (int i = 1; i < 10; i += 2) // L1
    tnt += i; // L2
cout << tnt;

{{ select(10) }}

  • L1i < 10 改为 i < 11 结果相同。
  • L1i = 1 改为 i = 0 结果相同。
  • tnt += itnt = tnt + i 效果相同。
  • tnt += itnt = i + tnt 效果相同。
  1. 下面 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
  • 没有输出
  1. 两个正整数,只要不相等,就一直进行如下操作:最大数减去最小数得到一个值,该值和两个数的最小数构成新的两个正整数,重复操作,直到两个数相等,此时输出该数。下面的 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
    
  1. 如果一个正整数能被 33 整除,或者某一位能被 33 整除,则称之为“漂亮数”。下面的 C++ 代码用于判断正整数 NN 是否为漂亮数,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 == 0
  • N % 3 % 10 == 0
  • N % 10 % 3
  • N % 10 % 3 == 0
  1. 如果正整数 NN 的所有奇因数(即能将 NN 整除的正奇数)的和是 2727 的倍数,则称 NN2727 的神秘数。下面的 C++ 代码用于判断输入的 NN 是否为 2727 的神秘数。如输入 5353,它有两个奇因数 115353,则将输出 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)
  1. 执行下面 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 分)

  1. 鸿蒙是华为公司开发的一款操作系统,那么它能够将正确的源程序翻译成目标程序,并运行。 {{ select(16) }}
  • 正确
  • 错误
  1. C++ 表达式 10 * 4 % 610 * 2 % 3 的结果相同。 {{ select(17) }}
  • 正确
  • 错误
  1. 下面 C++ 代码执行后将输出 00
int i;
for (i = 0; i < 10; i++)
    if (i % 3 == 0)
        continue;
    else
        break;
cout << i;

{{ select(18) }}

  • 正确
  • 错误
  1. 下面 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) }}

  • 正确
  • 错误
  1. 下面 C++ 代码执行后将输出 9999,因为 i < 100 不包括 100100,而是到 9999
int cnt = 0;
for (int i = 0; i < 100; i++)
    cnt += 1;
cout << cnt;

{{ select(20) }}

  • 正确
  • 错误
  1. 下面的 C++ 代码能用于判断输入的正整数是否为对称数。所谓对称数是指从左到右和从右到左读该数,其值相同,121121414414 等是对称数,而 123123 不是对称数。
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) }}

  • 正确
  • 错误
  1. 下面的 C++ 代码执行后将输出 00
int tnt = 0;
for (int i = -100; i < 100; i++)
    tnt += i;
cout << tnt;

{{ select(22) }}

  • 正确
  • 错误
  1. 某同学执行 C++ 代码时 printf("%g\n", (3+3.1415926535)); 输出 6.141596.14159 而不是 6.14159265356.1415926535 表明该同学的计算机存在故障需要重新安装 C++ 软件。 {{ select(23) }}
  • 正确
  • 错误
  1. 如果 xx 是 C++ 代码中的 double 型变量,则对 cout << (x ? 1227 : 12.27); 编译时将报错,因为 1227122712.2712.27 分别是 intdouble 类型,导致识别混乱。 {{ select(24) }}
  • 正确
  • 错误
  1. 在 C++ 代码中,不可以将变量命名为 keyword,因为它是 C++ 语言的关键字。 {{ select(25) }}
  • 正确
  • 错误