#G2503C3A. [GESP202503 三级] 客观题
[GESP202503 三级] 客观题
一、单项选择题(共 15 题,每题 2 分,共计 30 分;每题有且仅有一个正确选项)
- Base64 编码将每 3 字节的输入数据编码为 4 字节的输出数据。如果输入数据长度不是 3 的倍数,会用 = 号填充。 在 Base64 编码中,如果输入字符串的长度为 10 字节,编码后的字符串长度是多少( ) {{ select(1) }}
- 12 字节
- 13 字节
- 14 字节
- 16 字节
- UTF-8 编码规则如下: 1 字节:0xxxxxxx 2 字节:110xxxxx 10xxxxxx 3 字节:1110xxxx 10xxxxxx 10xxxxxx 4 字节:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 以下哪个字节序列是合法的 UTF-8 编码( ) {{ select(2) }}
- 0xC0 0x80
- 0xF0 0x90 0x80 0x80
- 0x80 0x80 0x80
- 0xFF 0xFE 0xFD
- 在 8 位二进制原码表示中,八进制数 −5 的二进制形式是什么( ) {{ select(3) }}
- 10000101
- 11111010
- 11111011
- 00000101
- 十进制数 111.111 的二进制表示可以是下面的( ) {{ select(4) }}
- 1101111.0001110001
- 1101110.1001110001
- 1101111.1001110001
- 1101111.0011110001
- 在 C++ 中,补码的主要作用是( ) {{ select(5) }}
- 提高浮点数的精度
- 简化整数的加减法运算
- 增加整数的表示范围
- 优化内存分配
- 在 C++ 中,一个 8 位有符号整数(使用补码表示)的范围是( ) {{ select(6) }}
- −128 到 127
- −127 到 128
- −256 到 255
- 0 到 255
- 在 C++ 中,以下代码的输出是什么( )
int a = -5;
unsigned int b = a;
cout << b;
{{ select(7) }}
- −5
- 5
- 4294967291
- 编译错误
- 下列程序的作用是( )
int main() {
int decimal = 25;
cout << oct << decimal;
return 0;
}
{{ select(8) }}
- 将十进制数转换成八进制数
- 将八进制数转换成十进制数
- 将二进制数转换成八进制数
- 将八进制数转换成 16 进制数
- 下面程序是将十进制转十六进制,横线处应该填入的是( )
int main() {
int decimal = 255;
______________________
return 0;
}
{{ select(9) }}
- cout << oct << decimal;
- cout << decimal << decimal;
- cout << hex << decimal;
- 不能正确执行
- 以下代码的说法正确的是( )
int a = 0b1101;
int b = 0b1011;
cout << (a ^ b);
{{ select(10) }}
- 进行的是整体异或运算
- 进行的是按位同或运算
- 进行的是按位与运算
- 进行的是按位异或运算
- 下面枚举法查找最大值索引程序中,横线处应该填写的是( )
int arr[] = {3, 7, 2, 9, 5};
int maxIndex = 0;
for (int i = 1; i < 5; i++) {
______________________________
{
maxIndex = i;
}
}
cout << maxIndex;
{{ select(11) }}
- if (arr[maxIndex] > arr[i])
- if (arr[i] - 1 > arr[maxIndex])
- if (arr[i] + 1 > arr[maxIndex])
- if (arr[i] > arr[maxIndex])
- 以下代码的功能是将数组中的奇数和偶数分别放在数组的前半部分和后半部分,横线处应该填入的是( )
{{ select(12) }}
- while (arr[left] % 2 == 0 && left < right) right--;
- while (arr[right] % 2 == 0 && left < right) left--;
- while (arr[right] % 2 != 0 && left < right) right--;
- while (arr[right] % 2 == 0 && left < right) right--;
- 下面程序最后能够得到 HelloC++ 的是( )
string str = "HelloWorld";
___________________
cout << str;
{{ select(13) }}
- str.replace(0, 5, "C++");
- str.replace(5, 5, "C++");
- str.replace(1, 5, "C++");
- str.replace(4, 5, "C++");
- 想要得到字符串 world,下列程序横线处应该填入的是( )
string str = "HelloC++";
_________________
_________________
{{ select(14) }}
- str.insert(4, "World"); cout << str.substr(4, 4);
- cout << str.substr(5, 5);
- str.insert("World"); cout << str.substr(5, 5);
- str.insert(5, "World"); cout << str.substr(5, 5);
- 有 $n$ 个正整数,若一个正整数是“美丽数字”当且仅当该正整数是 9 的倍数但不是 8 的倍数。 下列程序中统计美丽数字数量,横线处应该填入的是( )
for (int i = 1; i <= n; i++) {
cin >> a;
__________________________
cnt++;
}
{{ select(15) }}
- if (a % 9 != 0 && a % 8 != 0)
- if (a % 9 == 0 & a % 8 == 0)
- if (a % 9 == 0 && a % 8 != 0)
- if (a % 9 == 0 & a % 8 != 0)
二、判断题(共 10 题,每题 2 分,共计 20 分)
- C++、Python 都是高级编程语言,它们的每条语句最终都要通过机器指令来完成。 {{ select(16) }}
- 正确
- 错误
- 在 C++ 中表达式 $N \times 2 % N$ 中如果 $N$ 的值为正整数,则其值为 2。 {{ select(17) }}
- 正确
- 错误
- 执行如下 C++ 代码如果在键盘上输入 10,执行后将输出 20。
int n;
cin >> n;
cout << n * 2;
{{ select(18) }}
- 正确
- 错误
- 删除以下 C++ 代码中的 continue 不影响程序执行效果。
for (int i = 0; i < 10; ++i) {
if (i % 2 == 0) continue;
cout << i << ' ';
}
{{ select(19) }}
- 正确
- 错误
- 下列 C++ 代码执行时将报错,因为
_
所在位置应该是变量名,而_
不可以做变量名。
int _ = 5;
cout << _;
{{ select(20) }}
- 正确
- 错误
- 以下代码执行后,将先后输出 3 和 5。
int a = 3, b = 5;
cout << a << " " << b;
{{ select(21) }}
- 正确
- 错误
- 下面的 C++ 代码执行后将先后输出 7 个 true。
for (int i = 0; i < 7; ++i)
cout << boolalpha << true << '\n';
{{ select(22) }}
- 正确
- 错误
- 在 C++ 代码中, user_Name 、 userName 、 user-Name 、 userName 都是合法的变量名。 {{ select(23) }}
- 正确
- 错误
- C++ 语言中 continue 语句可以用来提前结束循环。 {{ select(24) }}
- 正确
- 错误
- C++ 中定义整型变量 $N$,执行语句
scanf("%d", &N); cout << N / 3 * 5;
时若输入 3.6 ,则输出是 6。 {{ select(25) }}
- 正确
- 错误