#5857. gesp三级客观题模拟1

gesp三级客观题模拟1

一、单选题

  1. 8位二进制补码能表示的最小整数是?{{ select(1) }}
  • -127
  • -128
  • -255
  • -256
  1. 补码 1011 1011 对应的真值是?{{ select(2) }}
  • -69
  • -59
  • -68
  • -58
  1. 二进制数 1101.101 对应的十进制数是?{{ select(3) }}
  • 13.625
  • 12.75
  • 11.875
  • 14.5
  1. 在C++中,如何正确定义一个长度为5的整型数组?{{ select(4) }}
  • int array = new int[5];
  • array int[5];
  • int[] array = {1,2,3,4,5};
  • int array[5];
  1. 如果 ab 均为 int 类型的变量,下列表达式能正确判断“a等于b”的是?{{ select(5) }}
  • ((a / b) == 1)
  • ((a & b) == a)
  • ((a ^ b) == 0)
  • ((a | b) == b)
  1. 以下哪个位运算操作可以不用临时变量来交换两个 int 变量 ab 的值?{{ select(6) }}
  • a = a ^ b; b = a ^ b; a = a ^ b;
  • a = a & b; b = a | b; a = a & b;
  • a = a | b; b = a ^ b; a = a ^ b;
  • a = ~a; b = ~b; a = ~a;
  1. 表达式 (x ^ (x >> 1)) 常被用于生成格雷码。对于 x = 6(二进制 0110),该表达式的十进制结果是?{{ select(7) }}
  • 3
  • 5
  • 9
  • 12
  1. 一个算法可以用以下哪种方式描述?{{ select(8) }}
  • 只能用C++代码
  • 只能用流程图
  • 只能用伪代码
  • 自然语言、流程图、伪代码均可
  1. 执行 C++ 语句 string s = "Gesp Test"; 后,s.rfind('e') 的返回值是?{{ select(9) }}
  • 1
  • 2
  • 6
  • 3
  1. 下列关于进制的叙述,不正确的是?{{ select(10) }}
  • 正整数的二进制表示中只会出现0和1。
  • 10不是2的整数次幂,所以十进制数无法转换为二进制数。
  • 从二进制转换为8进制时,可以将每3位二进制转换为1位八进制。
  • 从二进制转换为16进制时,可以将每4位二进制转换为1位十六进制。
  1. 下列代码段想用枚举法找出100-999之间所有的“水仙花数”(每位数字立方和等于本身),横线处应填入?{{ select(11) }}
    for (int i = 100; i <= 999; i++) {
        int a = i / 100; // 百位
        int b = ________; // 十位
        int c = i % 10; // 个位
        if (a*a*a + b*b*b + c*c*c == i) {
            cout << i << endl;
        }
    }
    
  • i % 100
  • (i / 10) % 10
  • i % 100 / 100
  • (i % 10) / 10
  1. 在C++中,下列数组定义符合语法的是?{{ select(12) }}
  • int a[];
  • int b['3'];
  • int c[3.0];
  • int[3] d;
  1. 补码加法运算中,如果最高位(符号位)有进位次高位无进位,通常说明?{{ select(13) }}
  • 结果正确
  • 发生上溢(结果超出最大正数)
  • 发生下溢(结果小于最小负数)
  • 结果符号位错误
  1. 定义 char str[] = "Hello";, 则 sizeof(str) 的值是?{{ select(14) }}
  • 5
  • 6
  • 7
  • 取决于系统
  1. 表达式 (x & 1) 可以用来判断整数 x 的奇偶性,其原理是?{{ select(15) }}
  • 检查x是否能被2整除
  • 检查x二进制表示的最低位是否为1
  • 检查x是否为质数
  • 将x和1进行逻辑与运算

二、判断题

  1. 在C++中,string 类使用 == 运算符比较时,比较的是字符串的内容而非内存地址。{{ select(16) }}
  • 正确
  • 错误
  1. stringsubstr(1, 3) 函数返回从下标1开始的3个字符组成的子串。{{ select(17) }}
  • 正确
  • 错误
  1. 如果 x 是浮点数(如 floatdouble),那么 (x >> 1) 等价于 x / 2。{{ select(18) }}
  • 正确
  • 错误
  1. 在C++中,长度为 n 的数组,其有效的下标访问范围是从 0n(包含n)。{{ select(19) }}
  • 正确
  • 错误
  1. 数据编码方式只有原码、反码、补码三种。{{ select(20) }}
  • 正确
  • 错误
  1. 一个算法必须有输入和输出,但可以没有明确的执行步骤。{{ select(21) }}
  • 正确
  • 错误
  1. 在C++中,全局变量如果没有显式初始化,会被自动初始化为0。{{ select(22) }}
  • 正确
  • 错误
  1. 对于整数 x, 表达式 (x & -x) 可以取出 x 二进制表示中最低位的1及其后面的0所组成的数。{{ select(23) }}
  • 正确
  • 错误
  1. sort() 函数可以直接用于排序 set 容器中的元素。{{ select(24) }}
  • 正确
  • 错误
  1. 枚举算法(穷举法)的核心思想是通过遍历所有可能的情况来寻找问题的解。{{ select(25) }}
  • 正确
  • 错误