#G1048. 客观题

客观题

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

  1. 人们所使用的手机上安装的 App\tt App 通常指的是( )。

{{ select(1) }}

  • 一款操作系统
  • 一款应用软件
  • 一种通话设备
  • 以上都不对
  1. 下列流程图的输出结果是?( )

{{ select(2) }}

  • 6060
  • 2020
  • 55
  • 11
  1. 已知大写字符 'A'ASCII\tt ASCII 编码的十六进制表示为 0x41,则字符 'L'ASCII\tt ASCII 编码的十六进制表示为( )。

{{ select(3) }}

  • 4A
  • 4B
  • 4C
  • 52
  1. 以下哪个不是 C\tt C++ 语言中的运算符?( )

{{ select(4) }}

  • ~
  • ~~
  • <
  • <<
  1. 如果数组定义为 long long array[] = {3, 5, 7, 2};,则数组 arrayarray 占用的字节数为( )。

{{ select(5) }}

  • 3232
  • 1616
  • 88
  • 44
  1. 一个数组定义为 double array[3];,则可合理访问这个数组的元素的下标最大为( )。

{{ select(6) }}

  • 22
  • 33
  • 2323
  • 2424
  1. 以下数组定义,符合 C\tt C++ 语言语法的是( )。

{{ select(7) }}

  • double a[];
  • double b[] = {1, 2.0, '3'};
  • double c[3.0];
  • double[] d = new double[3];
  1. 下列关于进制的叙述,正确的是( )。

{{ select(8) }}

  • 只有十进制和二进制能够用来表示小数,八进制和十六进制不可以
  • 常用的进制包括二进制、八进制、十进制、十六进制,其他进制在日常生活中很少使用
  • 对任意正整数,其二进制表示不会比它的十进制表示更短
  • 正整数的八进制表示中,每一位可能出现的最大数字是 88
  1. 下列关于 C\tt C++ 语言中数组的叙述,不正确的是( )。

{{ select(9) }}

  • 可以定义 00 个元素的数组
  • 不能定义 1-1 个元素的数组
  • 数组下标越界访问会产生编译错误
  • 程序运行时发生数组下标的越界访问,程序依然可能正常结束
  1. 如果 aaint 类型的变量,下列哪个表达式的值一定为 true\tt true?( )

{{ select(10) }}

  • a + 1000 - 1000 == a
  • a * 2 / 2 == a
  • (a & 1) == 1
  • (a | 1) == a + 1
  1. 如果 aabb 均为 int 类型的变量,下列表达式不能正确判断 “aa 等于 bb” 的是( )。

{{ select(11) }}

  • ((a >= b) && (a <= b))
  • ((a >> 1) == (b >> 1))
  • ((a + b) == (a + a))
  • ((a ^ b) == 0)
  1. 如果 aachar 类型的变量,下列哪个表达式可以正确判断 “aa 是大写字母”?( )

{{ select(12) }}

  • a - 'A' <= 26
  • 'A' <= a <= 'Z'
  • 'A' <= 'a' <= 'Z'
  • ('A' <= a) && (a <= 'Z')
  1. 在下列代码的横线处填写( ),可以使得输出是 20  1020\ \ 10

    #include <iostream>
    
    using namespace std;
    
    int main() {
    	int a = 10, b = 20;
    	
    	a = (a << 8) | b;
    	________________; // 在此处填入代码
    	
    	cout << a << " " << b << endl;
    
    	return 0;
    }
    

{{ select(13) }}

  • a = a >> 8; b = a & 0xff;
  • b = a >> 8; a = a & 0xff;
  • a = b; b = a & 0xff;
  • b = a; a = b;
  1. 在下列代码的横线处填写( ),可以使得输出是 120120

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

{{ select(14) }}

  • res += array[i]
  • res *= array[i]
  • res = array[i]
  • 以上均不对
  1. 下列代码的输出是( )。

    #include <iostream>
    
    using namespace std;
    
    int main() {
    	int array[10];
    	for (int i = 0; i < 10; i++)
    		array[i] = i;
    
    	for (int p = 2; p < 10; p++)
    		if (array[p] == p)
    			for (int n = p; n < 10; n += p)
    				array[n] = array[n] / p * (p - 1);
    
    	int res = 0;
    	for (int n = 1; n < 10; n++)
    		res += array[n];
    
    	cout << res << endl;
    
    	return 0;
    }
    

{{ select(15) }}

  • 1515
  • 2828
  • 4545
  • 5555

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

  1. 二进制数 101.101101.101 在十进制下是 5.0055.005。( )

{{ select(16) }}

  • 正确
  • 错误
  1. C\tt C++ 语言中,位运算符也有类似 “先乘除、后加减” 的优先级规则。因此,使用时应注意合理使用括号。( )

{{ select(17) }}

  • 正确
  • 错误
  1. 字符常量 '3' 的值和 int 类型常量 3 的值是相同的,只是占用的字节数不同。( )

{{ select(18) }}

  • 正确
  • 错误
  1. C\tt C++ 语言中,长度为 nn 的数组,访问下标为 nn 的元素会引起编译错误。( )

{{ select(19) }}

  • 正确
  • 错误
  1. C\tt C++ 语言中,所有 int 类型的值,经过若干次左移操作(<<)后,它们的值总会变为 00。( )

{{ select(20) }}

  • 正确
  • 错误
  1. C\tt C++ 语言中,数组下标的大小决定元素在逻辑上的先后顺序,与元素在内存中位置的先后顺序无关。( )

{{ select(21) }}

  • 正确
  • 错误
  1. C\tt C++ 语言中,定义数组时, [] 中必须指定元素个数。( )

{{ select(22) }}

  • 正确
  • 错误
  1. 著名的哥德巴赫猜想:任一大于 22 的偶数都可写成两个素数之和。我们可以通过枚举法来证明它。( )

{{ select(23) }}

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

{{ select(24) }}

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

{{ select(25) }}

  • 正确
  • 错误