1731: GESP C++三级23年9月认证真题:选择题
题目描述
一、单选题(每题 2 分,共 30 分)
1. 手机上安装的App通常指的是( )。
- A. 一款操作系统
- B. 一款应用软件
- C. 一种通话设备
- D. 以上都不对
2. 下列流程图的输出结果是( )。
3. 已知大写字符 'A' 的ASCII编码的十六进制表示为 0x41 ,则字符 'L' 的ASCII编码的十六进制表示为( )。
- A. 4A
- B. 4B
- C. 4C
- D. 52
4. 下列哪个不是C++语言中的运算符?( )。
- A. ~
- B. ~~
- C. <
- D. <<
5. 如果数组定义为 `long long array[] = {3, 5, 7, 2};`,那么数组 `array` 占用的字节数为( )。
- A. 32
- B. 16
- C. 8
- D. 4
6. 一个数组定义为 `double array[3];`,那么可以合理访问这个数组的元素的下标最大为( )。
- A. 2
- B. 3
- C. 23
- D. 24
7. 下列数组定义,符合C++语言语法的是( )。
- A. double a[];
- B. double b[] = {1, 2.0, '3'};
- C. double c[3.0];
- D. double[] d = new double[3];
8. 下列关于进制的叙述,正确的是( )。
- A. 只有十进制和二进制能够用来表示小数,八进制和十六进制不可以。
- B. 常用的进制包括二进制、八进制、十进制、十六进制,其他进制在日常生活中很少使用。
- C. 对任意正整数,其二进制表示不会比它的十进制表示更短。
- D. 正整数的八进制表示中,每一位可能出现的最大数字是8。
9. 下列关于C++语言中数组的叙述,不正确的是( )。
- A. 可以定义 0 个元素的数组。
- B. 不能定义 -1 个元素的数组。
- C. 数组下标越界访问会产生编译错误。
- D. 程序运行时发生数组下标的越界访问,程序依然可能正常结束。
10. 如果 `a` 是 `int` 类型的变量,下列哪个表达式的值为 true?( )。
- A. `a + 1000 - 1000 == a`
- B. `a * 2 / 2 == a`
- C. `(a & 1) == 1`
- D. `(a | 1) == a + 1`
11. 如果 `a` 和 `b` 均为 `int` 类型的变量,下列表达式不能正确判断“ a 等于 b ”的是( )。
- A. `((a >= b) && (a <= b))`
- B. `((a > 1) == (b > 1))`
- C. `((a + b) == (a + a))`
- D. `((a ^ b) == 0)`
12. 如果 `a` 为 `char` 类型的变量,下列哪个表达式可以正确判断“a 是大写字母”?( )。
- A. `a - 'A' <= 26`
- B. `'A' <= a <= 'Z'`
- C. `'A' <= 'a' <= 'Z'`
- D. `('A' <= a) && (a <= 'Z')`
13. 在下列代码的横线处填写( ),可以使得输出是“20 10”。
int a = 20, b = 10;
a=(a<<8)|b;
// 横线处填写代码
cout << a << " " << b << endl;
- A. `a = a >> 8; b = a & 0xff`
- B. `b = a; a = a & 0xff;`
- C. `a = b; b = a & 0xff;`
- D. `b = a; a = b;`
14. 在下列代码的横线处填写( ),可以使得输出是“120”。
int array[] = {1, 2, 3, 4, 5};
int res = 0;
for (int i = 0; i < 5; i++) {
// 填写代码
}
cout << res << endl;
- A. `res += array[i];`
- B. `res *= array[i]`
- C. `res = array[i]`
- D. 以上均不对。
15. 下列代码的输出是( )。
- A. 15
- B. 28
- C. 45
- D. 55
二、 判断题(每题 2 分,共 20 分)
16. 二进制数 101.101 在十进制下是 5.005。
17. 在C++语言中,位运算符也有类似“先乘除、后加减”的优先级规则。因此,使用时应注意合理使用括号。
18. 字符常量 '3' 的值和 int 类型常量 3 的值是相同的,只是占用的字节数不同。
19. 在C++语言中,长度为 的数组,访问下标为 的元素会引起编译错误。
20. 在C++语言中,所有 int 类型的值,经过若干次左移操作( << )后,它们的值总会变为 0 。
21. 在C++语言中,数组下标的大小决定元素在逻辑上的先后顺序,与元素在内存中位置的先后顺序无关。
22. 在C++语言中,定义数组时, [] 中必须指定元素个数。
23. 著名的哥德巴赫猜想:任意大于2的偶数都可写成两个素数之和。我们可以通过枚举法来证明它。
24. 在C++语言中,表达式 (0xff == 255) 的值为 true 。
25. 如果 a 为 int 类型的变量,且表达式 ((a & 1) == 0) 的值为 true,则说明 a 是偶数。
输入格式
第16题后面是判断题,对的输入T,错误的输入F,例如:
16 T
输入样例 复制
25
输出样例 复制
1 [4] A