#GESP202306C3T1. 单选题(每题 2 分,共 30 分)

    ID: 3364 Type: Objective Tried: 1 Accepted: 1 Difficulty: 2 Uploaded By: Tags>GESP三级计算机基础程序设计基础数组字符串进制转换

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

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

第 1 题

高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的可执行代码。

{{ select(1) }}

  • 编辑
  • 保存
  • 调试
  • 编译

第 2 题

二进制数 11.0111.01 在十进制下是( )。

{{ select(2) }}

  • 3.013.01
  • 3.053.05
  • 3.1253.125
  • 3.253.25

第 3 题

已知大写字符 'A' 的 ASCII 编码的十六进制表示为 0x410x41,则字符 'F' 的 ASCII 编码的十六进制表示为( )。

{{ select(3) }}

  • 46
  • 47
  • 48
  • 49

第 4 题

以下哪个不是 C++ 语言中的运算符?( )

{{ select(4) }}

  • &
  • &&
  • *
  • **

第 5 题

如果字符串定义为 char str[] = "Hello";,则字符数组 str 的长度为( )。

{{ select(5) }}

  • 0
  • 5
  • 6
  • 7

第 6 题

一个数组定义为 double array[3];,则这个数组占用内存的大小为( )。

{{ select(6) }}

  • 24
  • 12
  • 6
  • 3

第 7 题

以下数组定义,符合 C++ 语言语法的是( )。

{{ select(7) }}

  • int a[];
  • int b['3'];
  • int c[3.0];
  • int[3] d;

第 8 题

下列关于进制的叙述,不正确的是( )。

{{ select(8) }}

  • 正整数的二进制表示中只会出现 0011
  • 1010 不是 22 的整数次幂,所以十进制数无法转换为二进制数。
  • 从二进制转换为 88 进制时,可以很方便地由低到高将每 33 位二进制位转换为对应的一位 88 进制位。
  • 从二进制转换为 1616 进制时,可以很方便地由低到高将每 44 位二进制位转换为对应的一位 1616 进制位。

第 9 题

下列关于 C++ 语言中数组的叙述,不正确的是( )。

{{ select(9) }}

  • 数组必须先定义后使用。
  • 数组的所有元素在内存中是连续存放的。
  • 除了字符数组,在定义数组时“[]”内必须有常数。
  • 不能对数组赋值,但可以对数组的每个基础类型的元素赋值。

第 10 题

一个 int 类型的值,做以下哪个操作,一定会变回原来的值?( )

{{ select(10) }}

  • 左移 3 位,再右移 3 位。
  • 右移 3 位,再左移 3 位。
  • 按位或 7,再按位与 -8。
  • 按位异或 7,再按位异或 7。

第 11 题

如果 a 和 b 均为 int 类型的变量,下列表达式能正确判断 “a 等于 b” 的是( )。

{{ select(11) }}

  • (a / b) == 1
  • (a & b) == a
  • (a ^ b) == 0
  • (a | b) == b

第 12 题

如果 a 为 int 类型的变量,下列哪个表达式可以正确求出满足“小于等于 a 且是 4 的倍数”的整数中最大的?

{{ select(12) }}

  • (a & (~3))
  • ((a << 2) >> 2)
  • (a ^ 3)
  • ((a - 1) | 3) + 1

第 13 题

在下列代码的横线处填写( ),可以使得输出是 “24 12”。

#include <iostream>
using namespace std;
int main() {
    int a = 12, b = 24;
    ________; // 在此处填入代码
    a = a ^ b;
    b = a ^ b;
    cout << a << " " << b << endl;
    return 0;
}

{{ select(13) }}

  • a = a ^ b
  • b = a ^ b
  • a = a + b
  • b = a + b

第 14 题

在下列代码的横线处填写( ),可以使得输出是 “2”。

#include <iostream>
using namespace std;
int main() {
    int array[5] = {3, 7, 5, 2, 4};
    int min = 0;
    for (int i = 0; i < 5; i++)
        if (______) // 在此处填写代码
            min = array[i];
    cout << min << endl;
    return 0;
}

{{ select(14) }}

  • min > array[i]
  • min < array[i]
  • min = array[i]
  • 以上均不对。

第 15 题

在下列代码的横线处填写( ),可以使得输出不是 “31”。

#include <iostream>
using namespace std;
int main() {
    int array[5] = {1, 2, 4, 8, 16};
    int res = 0;
    for (int i = 0; i < 5; i++)
        ________; // 在此处填写代码
    cout << res << endl;
    return 0;
}

{{ select(15) }}

  • res = res + array[i]
  • res = res & array[i]
  • res = res | array[i]
  • res = res ^ array[i]