#G1135. 客观题

客观题

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

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

{{ select(1) }}

  • 内存
  • 磁盘
  • CPU\tt CPU
  • 显示器
  1. IPv4\tt IPv4 版本的因特网总共有( )个 A\tt A 类地址网络。

{{ select(2) }}

  • 6500065000
  • 200200
  • 126126
  • 128128
  1. C\tt C++ 中,下列不可做变量的是( )。

{{ select(3) }}

  • ccf-gesp
  • ccf_gesp
  • ccfGesp
  • _ccfGesp
  1. C\tt C++ 中,与 for (int i = 1; i < 10; i++) 效果相同的是( )。

{{ select(4) }}

  • for (int i = 0; i < 10; i++)
  • for (int i = 0; i < 11; i++)
  • for (int i = 1; i < 10; ++i)
  • for (int i = 0; i < 11; ++i)
  1. C\tt C++ 中,cout << (5 / 2 + 5 % 3); 的输出是( )。

{{ select(5) }}

  • 11
  • 22
  • 44
  • 55
  1. 假定变量 aabb 可能是整型、字符型或浮点型,则下面 C\tt C++ 代码执行时先后输入 2-23.143.14 后,其输出不可能是( )。(已知字符 '+''-''='ASCII\tt ASCII 码值分别是 434345456161

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

{{ select(6) }}

  • 11
  • 1.141.14
  • 4747
  • 将触发异常
  1. C\tt C++ 代码中假设 NN 为正整数,则下面代码能获得个位数的是( )。

{{ select(7) }}

  • N % 10
  • N / 10
  • N && 10
  • 以上选项均不正确
  1. 下面 C\tt C++ 代码执行后的输出是( )。

    int i;
    for (i = 0; i < 10; i++) {
        if (i % 2)
            break;
        cout << "0#";
    }
    if (i == 10) cout << "1#";
    

{{ select(8) }}

  • 0#
  • 1#
  • 0#0#1
  • 没有输出
  1. 执行下面 C\tt C++ 代码并输入 1100,有关说法正确的是( )。

    int a, b;
    cin >> a >> b;
    if (a && b)
        cout << ("1");
    else if (!(a || b))
        cout << ("2");
    else if (a || b)
        cout << ("3");
    else
        cout << ("4");
    

{{ select(9) }}

  • 11
  • 22
  • 33
  • 44
  1. 下面 C\tt C++ 代码执行后的输出是( )。

    int loopCount = 0;
    for (int i = 1; i < 5; i += 2)
        loopCount += 1;
    cout << (loopCount);
    

{{ select(10) }}

  • 11
  • 22
  • 33
  • 55
  1. 下图是 C\tt C++ 程序执行后的输出。为实现其功能,横线处应填入代码是( )。

    7
    1
    2 3
    3 4 5
    4 5 6 7
    5 6 7 8 9
    6 7 8 9 10 11
    7 8 9 10 11 12 13
      
    //////////////////////////////
      
    int lineNum;
    cin >> lineNum;
    for (int i= 1; i < lineNum+1; i++) {
        for(int __________________)
            cout << j << " ";
        cout << endl;
    }
    

{{ select(11) }}

  • j = i; j < i; j++
  • j = 1; j < i; j++
  • j = i; j < i*2; j++
  • j = i+1; j < i+i; j++
  1. 下面 C\tt C++ 代码执行后输出逆序数,如输入 123123 则输出 321321。如输入 120120 则输出 2121。横线处先后应填入的代码是( )。

    int N;
    cin >> N;
    int rst = 0;
    while (N) {
        ____________________;
        ____________________;
    }
    cout << (rst);
    

{{ select(12) }}

  • rst = rst * 10 + N % 10N = N / 10
  • rst += N % 10N = N / 10
  • rst = rst * 10 + N / 10N = N % 10
  • rst += N / 10N = N % 10
  1. 下面的 C\tt C++ 代码用于输入学生成绩,并根据人数计算出平均成绩,有关说法错误的是( )。

    float Sum = 0; // 保存总成绩
    int cnt = 0;   // 保存学生人数
    while (1) {
        int score;
        cin >> score;
        if (score < 0)
            break;
        cnt += 1;
        Sum += score;
    }
    cout << "总学生数:" << cnt << "平均分:" << Sum/cnt;
    

{{ select(13) }}

  • 代码 while (1) 写法错误
  • 如果输入负数,将结束输入,并正确输出
  • 如果输入的学生成绩含有小数,程序将无法正常执行
  • 变量 int score 初始值不确定,但不影响程序执行
  1. 以下 C\tt C++ 代码判断输入的正整数是否为质数,如果该数字是质数,则输出 YES,否则输出 NO。质数是指仅能被 11 和它本身整除的正整数。请在横线上填写代码( )。

    int num, i;
    cin >> num;
    for (i = 2; i < num; i++)
        if (__________) {
            cout << ("NO");
            break;
        }
    if (i == num)
        cout << ("YES");
    

{{ select(14) }}

  • num % i
  • num % i == 0
  • num / i
  • num / i == 0
  1. 一个数如果能被某个数(比如 77)整除,或者含有该数,则说该数是某个数的相关数。下面 C\tt C++ 代码用于判定输入的数与 77 是否有关。下列说法错误的是( )。

    int N, M;
    bool Flag = false;
    cin >> N;
    M = N;
    
    if (M % 7 == 0)
        Flag = true;
        
    while (!Flag && M) {
        if (M % 10 == 7) {
            Flag = true;
            break;
        }
        M /= 10;
    }
    
    if (Flag)
        cout << N << "与7有关";
    else
        cout << N << "与7无关";
    

{{ select(15) }}

  • 删除 break 语句不会导致死循环,但有时会导致结果错误
  • 删除 M /= 10 将可能导致死循环
  • 删除 M = N 并将其后代码中的 MM 变量改为 NN,并调整输出同样能完成相关功能
  • 删除 break 语句不会导致死循环,但有时会影响效率

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

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

{{ select(16) }}

  • 正确
  • 错误
  1. C\tt C++ 中,cout << (3, 4, 5); 可以输出 3  4  53\ \ 4\ \ 5,且每个输出项之间用空格分开。( )

{{ select(17) }}

  • 正确
  • 错误
  1. C\tt C++ 表达式 12 % 10 % 10 的值为 22。( )

{{ select(18) }}

  • 正确
  • 错误
  1. C\tt C++ 语句 cout << rand() << ' ' << rand(); 的第二个输出值较大。( )

{{ select(19) }}

  • 正确
  • 错误
  1. 定义 C\tt C++ 的 int\tt int 类型的变量 ch,而且值为 '1',则语句 cout << int(ch); 的输出为 11。( )

{{ select(20) }}

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

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

{{ select(21) }}

  • 正确
  • 错误
  1. 下面 C\tt C++ 代码能求整数 NNMM 之间所有整数之和,包含 NNMM。( )

    int N, M, Sum;
    cin >> N >> M;
    if (N > M) {
        int tmp = N;
        N = M, M = tmp;
    }
    for (int i = N; i < M+1; i++)
        Sum += i;
    cout << Sum;
    

{{ select(22) }}

  • 正确
  • 错误
  1. 将下面 C\tt C++ 代码中的 L3\tt L3 标记的代码行调整为 for (int i = 0; i < 5; i++) 后输出结果相同。( )

    int loopCount = 0;
    for (int i = 1; i < 5; i++) // L3
        for (int j = 0; j < i; j++)
            loopCount += 1;
    cout << loopCount;
    

{{ select(23) }}

  • 正确
  • 错误
  1. 某一系列数据的规律是从第 33 个数值开始是前两个数之和。下面的代码求第 NN 个数的值,NN 限定为大于 22。( )

    int start1; // 第1个数
    int start2; // 第2个数
    int N;      //求N个数的值
    int tmp;
    cin >> start1 >> start2 >> N;
    
    for (int i = 2; i < N; i++){
        tmp = start1 + start2;
        start1 = start2;
        start2 = tmp;
    }
    cout << start2;
    

{{ select(24) }}

  • 正确
  • 错误
  1. 下面 C\tt C++ 代码执行时如果输入 20242024,则输出是 42024202。( )

    int N, flag=0;
    cin >> N;
    while (N){
        if(!flag) cout << N % 10;
        N /= 10;
        flag = (flag + 1)%2;
    }
    

{{ select(25) }}

  • 正确
  • 错误