CCF GESP 2024年12月认证 C++ 7级
一
单选题
第 1 题
已知小写字母 b 的 ASCII 码为 98,下列 C++ 代码的输出结果是( )。
#include <iostream>
using namespace std;
int main() {
char a = 'b';
cout << a + 1;
return 0;
}
第 2 题
已知 a 为 int 类型变量,p 为 int * 类型变量,下列赋值语句不符合语法的是( )。
第 3 题
已知数组 a 的定义
int a[10] = {0};,下列说法不正确的是( )。
第 4 题
下列关于 C++ 类的说法,错误的是( )。
第 5 题
下列关于有向图的说法,错误的是( )。
第 6 题
一棵二叉树的每个结点均满足:结点的左子树和右子树,要么同时存在,要么同时不存在。该树有 197 个结点。则其叶结点有多少个?( )
第 7 题
下列关于二叉树的说法,错误的是( )。
第 8 题
一个简单无向图有 10 个结点、6 条边。在最差情况,至少增加多少条边可以使其连通?( )
第 9 题
一个哈希表,包括 $n$ 个位置(分别编号 $0 \sim (n-1)$),每个位置最多仅能存储一个元素。该哈希表只有插入元素和查询两种操作,没有删除或修改元素的操作。以下说法错误的是( )。
第 10 题
以下关于动态规划的说法中,错误的是( )。
第 11 题
下面程序的输出为( )。
#include <iostream>
#include <cmath>
using namespace std;
int main() {
cout << (int)exp(2) << endl;
return 0;
}
第 12 题
下面程序的输出为( )。
#include <iostream>
#define N 10
using namespace std;
int h[N];
int main() {
h[0] = h[1] = 1;
for (int n = 2; n < N; n++)
for (int j = 0; j < n; j++)
h[n] += h[j] * h[n - j - 1];
cout << h[6] << endl;
return 0;
}
第 13 题
上题中程序的时间复杂度为( )。
第 14 题
下面
init_sieve 函数的时间复杂度为( )。int sieve[MAX_N];
void init_sieve(int n) {
for (int i = 1; i <= n; i++)
sieve[i] = i;
for (int i = 2; i <= n; i++)
for (int j = i; j <= n; j += i)
sieve[j]--;
}
第 15 题
下列选项中,哪个不可能是下图的深度优先遍历序列( )。

单选题部分已到底了。