CCF GESP 2024年9月认证 C++ 7级
一
单选题
第 1 题
已知小写字母 b 的 ASCII 码为 $98$,下列 C++ 代码的输出结果是( )。
#include <iostream>
using namespace std;
int main() {
char a = 'b';
a++;
cout << a;
return 0;
}
第 2 题
已知 a 为 int 类型变量,下列表达式不符合语法的是( )。
第 3 题
下列关于 C++ 语言中指针的叙述,不正确的是( )。
第 4 题
下列关于 C++ 类的说法,错误的是( )。
第 5 题
某二叉树 $T$ 的先序遍历序列为:$\text{\{A B D C E G H F\}}$,中序遍历序列为:$\text{\{D B A H G E C F\}}$,则下列说法中正确的是( )。
第 6 题
一棵完全二叉树有 $431$ 个结点,则叶结点有多少个?( )
第 7 题
下列关于树的说法,错误的是( )。
第 8 题
一个简单无向图有 $10$ 个结点、$30$ 条边。再增加多少条边可以成为完全图。( )
第 9 题
以下哪个方案可以合理解决或缓解哈希表冲突( )。
第 10 题
一个迷宫,已知从起点不经过重复结点到达终点的路径有且仅有一条,则下面说法错误的是( )。
第 11 题
下面程序的输出为( )。
#include <iostream>
#include <cmath>
using namespace std;
int main() {
cout << (int)log(8) << endl;
return 0;
}
第 12 题
下面程序的输出为( )。
#include <iostream>
#define N 10
using namespace std;
int path[N][N];
int main() {
for (int i = 1; i < N; i++)
path[i][0] = i;
for (int j = 1; j < N; j++)
path[0][j] = j;
for (int i = 1; i < N; i++)
for (int j = 1; j < N; j++)
path[i][j] = path[i - 1][j] + path[i][j - 1];
cout << path[8][4] << endl;
return 0;
}
第 13 题
上题中程序的时间复杂度为( )。
第 14 题
下面 fib 函数的时间复杂度为( )。
int fib_rcd[MAX_N];
int fib(int n) {
if (n <= 1)
return 1;
if (fib_rcd[n] > 0)
return fib_rcd[n];
return fib(n - 1) + fib(n - 2);
}
第 15 题
下列选项中,哪个可能是下图的广度优先遍历序列( )。

单选题部分已到底了。