#G1132. 客观题

客观题

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

  1. 据有关资料,山东大学于 19721972 年研制成功 DJL1\tt DJL-1 计算机,并于 19731973 年投入运行,其综合性能居当时全国第三位。DJL1\tt DJL-1 计算机运算控制部分所使用的磁心存储元件由磁心颗粒组成,设计存贮周期为 2 μs2\ μs(微秒)。那么该磁心存储元件相当于现代计算机的( )。

{{ select(1) }}

  • 内存
  • 磁盘
  • CPU\tt CPU
  • 显示器
  1. C\tt C++ 程序执行出现错误,不太常见的调试手段是( )。

{{ select(2) }}

  • 阅读源代码
  • 单步调试
  • 输出执行中间结果
  • 跟踪汇编码
  1. C\tt C++ 中,下列表达式错误的是( )。

{{ select(3) }}

  • cout << "Hello,GESP!" << endl;
  • cout << 'Hello,GESP!' << endl;
  • cout << """Hello,GESP!""" << endl;
  • cout << "Hello,GESP!' << endl;
  1. C\tt C++ 表达式 10 - 3 * 2 的值是( )。

{{ select(4) }}

  • 1414
  • 44
  • 11
  • 00
  1. C\tt C++ 中,假设 NN 为正整数 1010,则 cout << (N / 3 + N % 3); 将输出( )。

{{ select(5) }}

  • 66
  • 4.34.3
  • 44
  • 22
  1. C\tt C++ 语句 printf("6%2={%d}", 6%2); 执行后的输出是( )。

{{ select(6) }}

  • "6%2={6%2}"
  • 6%2={6%2}
  • 0=0
  • 6%2={0}
  1. 成功执行下面的 C\tt C++ 代码,先后从键盘上输入 55 回车和 22 回车,输出是( )。

    cin >> a;
    cin >> b;
    cout << a + b;
    

{{ select(7) }}

  • 将输出整数 77
  • 将输出 52525522 之间没有空格
  • 将输出 55225522 之间有空格
  • 执行结果不确定,因为代码段没有显示 aabb 的数据类型
  1. 下面 C\tt C++ 代码执行后输出是( )。

    int Sum = 0;
    for (int i = 0; i < 10; i++)
        Sum += i;
    cout << Sum;
    

{{ select(8) }}

  • 5555
  • 4545
  • 1010
  • 99
  1. 下面 C\tt C++ 代码执行后输出的是( )。

    int N = 0;
    for (int i = 0; i < 10; i++)
        N += 1;
    cout << N;
    

{{ select(9) }}

  • 5555
  • 4545
  • 1010
  • 99
  1. 下面 C\tt C++ 代码执行后输出的是( )。

    int N = 0;
    for (int i = 1; i < 10; i +=2){
        if (i % 2 == 1)
            continue;
        N += 1;
    }
    cout << N;
    

{{ select(10) }}

  • 55
  • 44
  • 22
  • 00
  1. 下面 C\tt C++ 代码执行时输入 14+714+7 后,正确的输出是( )。

    int P;
    printf("请输入正整数P: ");
    scanf("%d", &P);
    if (P % 3 || P % 7)
        printf("第5行代码%d, %d", P % 3, P % 7);
    else
        printf("第7行代码%2d", P % 3 && P % 7);
    

{{ select(11) }}

  • 第5行代码2, 0
  • 第5行代码1, 0
  • 第7行代码 1
  • 第7行代码 0
  1. 执行下面 C\tt C++ 代码后得到的输出是( )。

    int count= 0, i, s;
    for (i = 0, s = 0 ; i < 20; i++, count++)
        s += i++;
    cout << s << " " << count;
    

{{ select(12) }}

  • 190  20190\ \ 20
  • 95  1095\ \ 10
  • 90  1990\ \ 19
  • 90  1090\ \ 10
  1. 下面 C\tt C++ 代码拟用于计算整数 NN 的位数,比如对 123123 则输出 12312333 位整数,但代码中可能存在 bug\tt bug。下面有关描述正确的是( )。

    int N, N0, rc=0;
    cout << "请输入整数:";
    cin >> N;
    
    N0 = N;
    while (N) {
        rc++;
        N /= 10;
    }
    
    printf("%d是%d位整数\n", N, rc); // L11
    

{{ select(13) }}

  • 变量 N0\tt N0 占用额外空间,可以去掉
  • 代码对所有整数都能计算出正确位数
  • L11\tt L11 标记的代码行简单修改后可以对正整数给出正确输出
  • L11\tt L11 标记的代码行的输出格式有误
  1. 下面的 C\tt C++ 代码用于求连续输入的若干正五位数的百位数之和。例如输入 32488  25731  41232  032488\ \ 25731\ \ 41232\ \ 0,则输出 3个正五位数的百位数之和为13。有关描述错误的是( )。

    int M, Sum=0, rc=0;
    cout << "请输入正整数:";
    cin >> M;
    
    while (M){
        M = (M / 100 % 10); // L6
        Sum += M;
        rc++;
        cin >> M;
    }
    
    cout << rc << "个正五位数的百位数之和为" << Sum;
    

{{ select(14) }}

  • 执行代码时如果输入 23221  23453  12345  11111  023221\ \ 23453\ \ 12345\ \ 11111\ \ 0,则最后一行 Sum\tt Sum 的值是 1010
  • 执行代码时如果输入 2322  2345  1234  1111  02322\ \ 2345\ \ 1234\ \ 1111\ \ 0,程序也能运行
  • 将代码标记为 L6\tt L6 那行改为 M = (M % 1000 / 100);,同样能实现题目要求
  • 将代码标记为 L6\tt L6 那行改为 M = (M % 100 / 10);,同样能实现题目要求
  1. 如果一个正整数 NN 能够表示为 X(X+1)X*(X+1) 的形式,这里称它是一个兄弟数。例如,输入 66,则输出 6是一个兄弟数。下面 C\tt C++ 代码用来判断 NN 是否为一个兄弟数,在横线处应填入的代码可从 i)-iv) 中选择,则有几个能完成功能?( )

    int N;
    cin >> N;
    for(int i = 0; i <= N; i++)
        if(___________________)
            cout << N << "是一个兄弟数\n";
            
    i) N==i*(i+1)
    ii) N==i*(i-1)
    iii) N/(i+1)==i
    iv) N/(i-1)==i
    

{{ select(15) }}

  • 11
  • 22
  • 33
  • 44

二、判断题(每题 2 分,共 20 分)

  1. 小杨最近开始学习 C\tt C++ 编程,老师说 C\tt C++ 是一门面向对象的编程语言,也是一门高级语言。( )

{{ select(16) }}

  • 正确
  • 错误
  1. C\tt C++ 中,表达式 10/410%4 的值相同,都是整数 22,说明 /% 可以互相替换。( )

{{ select(17) }}

  • 正确
  • 错误
  1. NNC\tt C++ 程序中的整型变量,则语句 scanf("%d", &N); 能接收形如正整数、负整数和 00 输入,但如果输入含字母或带小数点数,将导致无法执行。( )

{{ select(18) }}

  • 正确
  • 错误
  1. 下面 C\tt C++ 代码能够执行,则将输出 4545。( )

    for (int i = 0; i < 10; i++)
        Sum += i;
    cout << Sum;
    

{{ select(19) }}

  • 正确
  • 错误
  1. C\tt C++ 代码中整型变量 XX 被赋值为 20.2420.24,则 cout << (X++, X+1) / 10; 执行后输出的是 2.1242.124。( )

{{ select(20) }}

  • 正确
  • 错误
  1. 下面 C\tt C++ 代码执行后,最后一次输出是 1010。( )

    for (int i = 1; i < 10; i+=3)
        cout << i << endl;
    

{{ select(21) }}

  • 正确
  • 错误
  1. C\tt C++ 中,break\tt break 语句通常与 if\tt if 语句配合使用。( )

{{ select(22) }}

  • 正确
  • 错误
  1. C\tt C++ 代码中,不可以将变量命名为 five-star,因为变量名中不可以出现 -(减号)符号。( )

{{ select(23) }}

  • 正确
  • 错误
  1. C\tt C++ 语言中,整型、实数型、字符型、布尔型是不同数据类型,但这四种类型的变量间都可以比较大小。( )

{{ select(24) }}

  • 正确
  • 错误
  1. C\tt C++ 中,定义变量 int a = 5, b = 4, c = 3,则表达式 (a < b < c) 的值为逻辑假。( )

{{ select(25) }}

  • 正确
  • 错误