#G1055. 2025年12月 GESP C++ 三级
2025年12月 GESP C++ 三级
第 1 题
请将二进制数 ,转换为等值的 进制数( {{ select(1) }})。
第 2 题
以下关于标准 C++ 一维数组的描述,哪一项是错误的?( {{ select(2) }})
- 数组的下标从 开始
- 数组在内存中是连续存放的
- 数组的长度只能在运行时才能确定
- 可以在程序中修改数组某个元素的值
第 3 题
下列代码段执行后,变量 sum 的值是( )
{
int sum = 0;
for (int i = 1; i <= 10; i++) {
if (i % 3 == 8 >> 2)
continue;
sum += i;
}
}
{{ select(3) }}
第 4 题
执行以下程序段,输出值是( )
int x = 5;
if (x == 3 >> 2) x = 8 >> 3;
cout << x << endl;
{{ select(4) }}
第 5 题
已知字符串 s = "C++ Programming",下列程序运行的结果是( )
cout << (int)(s.length() | 3) << endl;
{{ select(5) }}
第 6 题
以下代码是一个程序的部分代码,能够正确执行,输出的结果是( )
int arr[5] = {1, 2, 3, 4, 5};
int p = arr[1];
cout << (p + 2) << endl;
{{ select(6) }}
第 7 题
以下关于 C++ 求最小值函数 min() 的描述,不正确的是( {{ select(7) }})
- 函数必须返回一个值
- 该函数可以嵌套调用
- 调用
min(5)是错误的,不能通过编译 - 调用
min()(不传任何参数)可以通过编译,结果为
第 8 题
在一个特定的计算机系统中,假如 unsigned int 类型需要占用 个字节的存储空间(每个字节有 位),则 unsigned int 可以表示的数据范围是({{ select(8) }} )
- 0 ~ 65535
- 0 ~ 65536
- -65536 ~ 65535
- 0 ~ 32767
第 9 题
以下代码执行后,数组 arr 的内容是( )
int arr[6] = {1, 2, 3, 4, 5, 6};
for (int i = 0; i < 6; i += 2) {
arr[i] = arr[i] + arr[i+1];
arr[i+1] = arr[i] - arr[i+1];
arr[i] = arr[i] - arr[i+1];
}
{{ select(9) }}
第 10 题
a & b | (c ^ d),其中 ,,,,计算结果是({{ select(10) }} )
- 十进制
- 二进制
- 八进制
- 十六进制
第 11 题
整型变量 的初始值为 ,以下代码的输出结果是( )
int t = x--;
t -= x;
cout << t << endl;
{{ select(11) }}
- 死循环
第 12 题
根据下面的流程图,如果成绩 score 输入 ,输出的结果是( )

{{ select(12) }}
- 优秀
- 及格
- 不及格
- 没有输出
第 13 题
以下代码运行后,sum 的结果是( )
int arr[5] = {2, 4, 6, 8, 10};
int sum = 0;
for (int i = 0; i < 5; i++) {
switch (arr[i] % (1|2)) {
case 0: sum += 1; break;
case 1: sum += 2; break;
case 2: sum += 3; break;
}
}
{{ select(13) }}
第 14 题
以下关于 C++ 中 abs() 函数的描述,正确的是({{ select(14) }} )
abs()函数可用于计算int类型整数的绝对值,头文件为<cmath>或<cstdlib>- 调用
abs(3.14)可以四舍五入得到 abs(-1, -2)的返回值是- 若传入负数浮点数,
abs()会自动截断小数部分后返回整数绝对值
第 15 题
如果字符串 s 的值是 GESP,以下代码 s 的最后结果是( )
for (int i = 0; i < s.length(); i++) {
s[i] = toupper(s[i] + i);
}
{{ select(15) }}
GESPHFTRhespGFUS
第 16 题
在 C++ 中,数组名不能改变,数组名不能被赋值。 {{ select(16) }}
- 正确
- 错误
第 17 题
整型变量 a 的值为 3,浮点数变量 b 的值为 3.5,在 C++ 编译环境下,经过 a *= b 计算后,a 的值变为 10.5。此时如果输出 a,将输出 10.5。
{{ select(17) }}
- 正确
- 错误
第 18 题
strcmp(str1, str2) 返回 0 表示 str1 大于 str2,返回正数表示两者相等。
{{ select(18) }}
- 正确
- 错误
第 19 题
以下代码输出结果为 8。
int a = 5, b = 3;
int c = a++ + ++b;
cout << c << endl;
{{ select(19) }}
- 正确
- 错误
第 20 题
位运算符 &、|、^、~ 的优先级高于算术运算符 +、-、*、/。
{{ select(20) }}
- 正确
- 错误
第 21 题
在 C++ 中,int a[] = {1, 2, 3, 4, 5}; 可以定义一个包含 5 个元素的整型数组。
{{ select(21) }}
- 正确
- 错误
第 22 题
C++ 表达式 z = a > b ? x : y 等同于:
if (a > b) {
z = x;
} else {
z = y;
}
以下代码执行后,输出将会是 2。
int main() {
int arr[5] = {1, 2, 3, 4, 5};
cout << arr[3 > 2 ? 1 : 2] << endl;
return 0;
}
{{ select(22) }}
- 正确
- 错误
第 23 题
在 C++ 中,++ 和 -- 运算符只能用于整型变量,不能用于浮点数变量。
{{ select(23) }}
- 正确
- 错误
第 24 题
给定一个正整数 a,当需要计算 -a 的补码时,有这样一个计算技巧:将 a 的二进制形式从右往左扫描,遇到第一个 1 之后,将找到的第一个 1 左边的所有位都取反,能得到 -a 的补码。 {{ select(24) }}
- 正确
- 错误
第 25 题
以下代码中,Hello 将被输出 5 次。
for (int i = 0; i < 5; i++);
{
cout << "Hello" << endl;
}
{{ select(25) }}
- 正确
- 错误