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