#G1006. 客观题

客观题

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

  1. 下列关于负数的原码、反码、补码的描述中,正确的是( )。

{{ select(1) }}

  • 原码和反码互为按位取反(符号位除外),补码为反码加 11
  • 原码和反码互为按位取反(符号位除外),补码为原码加 11
  • 反码和补码互为按位取反(符号位除外),原码为反码加 11
  • 补码和原码互为按位取反(符号位除外),反码为补码加 11
  1. 一个 int 类型的值乘以 88,等价于以下哪个位运算?( )

{{ select(2) }}

  • 左移 33
  • 右移 33
  • 左移 88
  • 右移 88
  1. 以下哪个属于 C\tt C++ 语言中的位运算符?( )

{{ select(3) }}

  • +
  • -
  • *
  • &
  1. 若有以下代码,则数组 arr 的长度是( )。

    int arr[] = {1, 2, 3, 4, 5};
    

{{ select(4) }}

  • 33
  • 44
  • 55
  • 66
  1. C\tt C++ 语言中,可以定义一个一维整型数组的是( )。

{{ select(5) }}

  • int array[5];
  • int array[];
  • int[5] array;
  • int[] array;
  1. 枚举算法的主要特点是( )。

{{ select(6) }}

  • 以空间换时间
  • 逐个尝试所有可能的解
  • 动态规划
  • 贪心策略
  1. 对于一个十进制数 3737,以下哪个是它的二进制表示?( )

{{ select(7) }}

  • 1010110101
  • 100101100101
  • 101001101001
  • 10001011000101
  1. 下列关于十六进制的描述中,正确的是( )。

{{ select(8) }}

  • 使用 090\sim 9AFA\sim F 表示
  • 使用 090\sim 9AEA\sim E 表示
  • 使用 191\sim 9AFA\sim F 表示
  • 使用 191\sim 9AEA\sim E 表示
  1. 下列哪个是 C\tt C++ 语言中用于获取字符串长度的函数( )。

{{ select(9) }}

  • length()
  • len()
  • getLength()
  • strlen()
  1. 通常用下列哪种方式来描述算法?( )

{{ select(10) }}

  • 汇编语言
  • 伪代码
  • SQL\tt SQL
  • CSS\tt CSS
  1. 如果 aabb 均为 int 类型的变量,下列表达式能正确判断 “aa 等于 00bb 等于 00” 的是( )。

{{ select(11) }}

  • ((~a) && (~b))
  • ((a & b) == 0)
  • ((a | b) == 0)
  • ((a ^ b) == 0)
  1. 如果 aaint 类型的变量,下列哪个表达式可以正确求出满足 “大于等于 aa 且是 44 的倍数” 的整数中最小的?( )

{{ select(12) }}

  • (a & (~3))
  • (a / 4 * 4)
  • ((a - 1) | 3) + 1
  • (a << 2)
  1. 下面流程图,输入 1  2  31\ \ 2\ \ 3,会输出( )。

{{ select(13) }}

  • 无输出
  • 11
  • 22
  • 33
  1. 在下列代码的横线处填写( ),可以保证输出是 13571357,不会有多余字符。

    #include <iostream>
    #include <cstring>
    
    using namespace std;
    
    int main() {
    	char str[] = "1234567";
    
    	for (__________) // 在此处填入代码
    		cout << str[i];
    	
    	return 0;
    }
    

{{ select(14) }}

  • int i = 0; i < strlen(str); i++
  • int i = 0; str[i] != '\0'; i++
  • int i = 1; i <= 7; i += 2
  • int i = 0; i <= 6; i += 2
  1. 在下列代码的横线处填写( ),可以使得输出是 17  1117\ \ 11

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

{{ select(15) }}

  • a + b
  • a - b
  • a ^ b
  • a & b

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

  1. 二进制数据编码中,负数的补码是通过对原码按位取反并加 11 得到的。( )

{{ select(16) }}

  • 正确
  • 错误
  1. C\tt C++ 语言中,数组的下标从 11 开始计数。( )

{{ select(17) }}

  • 正确
  • 错误
  1. C\tt C++ 语言中,字符串是以 '\0' 结尾的字符数组。( )

{{ select(18) }}

  • 正确
  • 错误
  1. C\tt C++ 语言中,可以使用浮点数(如 3.03.0)作为数组下标。( )

{{ select(19) }}

  • 正确
  • 错误
  1. 枚举算法是一种暴力求解方法,逐个尝试所有可能的解。( )

{{ select(20) }}

  • 正确
  • 错误
  1. C\tt C++ 语言中数字的符号位是不参与位运算的。( )

{{ select(21) }}

  • 正确
  • 错误
  1. C\tt C++ 语言中的数组可以根据需要自动调整大小。( )

{{ select(22) }}

  • 正确
  • 错误
  1. C\tt C++ 语言中,表达式 (0xff == 255) 的值为 true。( )

{{ select(23) }}

  • 正确
  • 错误
  1. 如果 aaint 类型的变量,且表达式 ((a & 1) == 0) 的值为 true,则说明 aa 是偶数。( )

{{ select(24) }}

  • 正确
  • 错误
  1. 表达式 (7 >> 2) 的计算结果为 1.751.75,且结果类型为 double。( )

{{ select(25) }}

  • 正确
  • 错误