CCF GESP 2025年3月认证 C++ 3级
一
单选题
第 1 题
Base64 编码将每 3 字节的输入数据编码为 4 字节的输出数据。如果输入数据长度不是 3 的倍数,会用 = 号填充。在 Base64 编码中,如果输入字符串的长度为 10 字节,编码后的字符串长度是多少( )
第 2 题
UTF-8 编码规则如下:
1 字节:0xxxxxxx
2 字节:110xxxxx 10xxxxxx
3 字节:1110xxxx 10xxxxxx 10xxxxxx
4 字节:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
以下哪个字节序列是合法的 UTF-8 编码( )
第 3 题
在 8 位二进制原码表示中,八进制数 -5 的二进制形式是什么( )
第 4 题
十进制数 111.111 的二进制表示可以是下面的( )。
第 5 题
在 C++ 中,补码的主要作用是( )
第 6 题
在 C++ 中,一个 8 位有符号整数(使用补码表示)的范围是( )
第 7 题
在 C++ 中,以下代码的输出是什么( )
int a = -5;
unsigned int b = a;
cout << b;
第 8 题
下列程序的作用是( )
int main() {
int decimal = 25;
cout << oct << decimal;
return 0;
}
第 9 题
下面程序是将十进制转十六进制,横线处应该填入的是 ( )
#include <iostream>
using namespace std;
int main() {
int decimal = 255;
_______________________
return 0;
}
第 10 题
以下代码的说法正确的是什么( )
#include <iostream>
using namespace std;
int main() {
int a = 0b1101;
int b = 0b1011;
cout << (a ^ b);
return 0;
}
第 11 题
下面枚举法查找最大值索引程序中,横线处应该填写的是( )
#include <iostream>
using namespace std;
int main() {
int arr[] = {3, 7, 2, 9, 5};
int maxIndex = 0;
for (int i = 1; i < 5; i++) {
_______________________
{
maxIndex = i;
}
}
cout << maxIndex;
return 0;
}
第 12 题
以下代码的功能是将数组中的奇数和偶数分别放在数组的前半部分和后半部分,横线处应该填入的是( )
#include <iostream>
using namespace std;
int main() {
int arr[] = {1, 2, 3, 4, 5};
int left = 0, right = 4;
while (left < right) {
while (arr[left] % 2 == 1 && left < right) left++;
_______________________
if (left < right) {
swap(arr[left], arr[right]);
}
}
for (int i = 0; i < 5; i++) {
cout << arr[i] << " ";
}
return 0;
}
第 13 题
下面程序最后能够得到 HelloC++ 的是( )
int main() {
string str = "HelloWorld";
_______________________
cout << str;
return 0;
}
第 14 题
想要得到字符串 world,下面程序横线处应该填入的是()
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "HelloC++";
_____________
_____________
return 0;
}
第 15 题
有 n 个正整数,假设一个正整数是美丽数字当且仅当该正整数是 9 的倍数但不是 8 的倍数。下面的程序是编写计算 n 个正整数中美丽数字的数量,横线处应该填入的是( )
for (int i = 1; i <= n; i++) {
cin >> a;
_______________________
cnt++;
}
单选题部分已到底了。