CCF GESP 2026年9月认证 C++ 8级

所有 GESP 真题,手机上也能刷 · 自动判分 · 错题自动进错题本 扫码去刷
一 单选题
共 15 道 每题 2 分 共计 30 分
第 1 题
用数字 $0$、$1$、$2$、$3$、$4$、$5$ 组成没有重复数字的三位数,且该三位数能被 $3$ 整除,共有( )个。
A
$36$
B
$40$
C
$44$
D
$48$
第 2 题
$6$ 个人围成一圈就座,座位没有区分,但区分时针方向,且甲、乙两人必须相邻,则共有( )种不同坐法。
A
$24$
B
$36$
C
$48$
D
$120$
第 3 题
有 $4$ 堆石子,数量分别为 $1$、$2$、$3$、$4$。每次可以合并相邻两堆,合并代价为两堆石子数之和。将所有石子合并成一堆的最小总代价为( )。
A
$17$
B
$19$
C
$20$
D
$23$
第 4 题

某二叉树的先序遍历序列为 A B D E C F G,中序遍历序列为 D B E A F C G,则其后序遍历序列为( )。

A

D E B F G C A

B

D B E F G C A

C

D E B G F C A

D

D E B F C G A

第 5 题
关于快速幂算法,下列说法正确的是( )。
A
快速幂可以处理任意负指数的情况
B
快速幂将指数按二进制拆分,能够把乘法次数从朴素乘幂时的 $O(b)$ 优化为 $O(log b)$
C
快速幂只能在模数为质数时使用
D
快速幂的空间复杂度通常为 $O(b)$
第 6 题
杨辉三角中,第 $7$ 行第 $3$ 个数(行、列均从 $0$ 开始计数)是( )。
A
$21$
B
$35$
C
$42$
D
$56$
第 7 题
一个长方形的长是宽的 $3$ 倍,周长为 $48$,则该长方形的面积为( )。
A
$72$
B
$96$
C
$108$
D
$144$
第 8 题
若 $x+y=7$,$x-y=1$,则 $x× y$ 的值为( )。
A
$7$
B
$8$
C
$10$
D
$12$
第 9 题
关于最小生成树(MST)算法,下列说法正确的是( )。
A
Prim 算法适用于稠密图,Kruskal 算法适用于稀疏图
B
Prim 算法和 Kruskal 算法得到的最小生成树边集一定完全相同
C
Kruskal 算法必须使用邻接矩阵存储图
D
Prim 算法只能处理有向图
第 10 题

某连通带权无向简单图的边集合为 $\{(1,2,5),(1,3,1),(2,3,3),(2,4,4),(3,4,2),(3,5,6),(4,5,7)\}$,其中,每条边的三元组 $(u,v,w)$ 表示结点 $u$ 和结点 $v$ 之间有一条权值为 $w$ 的无向边。使用 Kruskal 算法按边权从小到大扫描,第 $3$ 条被选入最小生成树的边是( )。

A

$(1,2,5)$

B

$(2,3,3)$

C

$(3,4,2)$

D

$(4,5,7)$

第 11 题
在使用小根堆(优先队列)优化的 Dijkstra 算法中,堆中每个元素通常存储的是( )。
A
顶点编号和该顶点当前的最短距离
B
边的权值和边的终点
C
顶点的入度
D
父结点编号和边权
第 12 题
在 Floyd 算法的经典三重循环 for (k) for (i) for (j) 中,最外层变量 k 表示( )。
A
当前允许作为中间顶点的最大编号(即只允许编号不超过 k 的顶点作为中间点)
B
当前起点
C
当前终点
D
当前最短路径的长度
第 13 题

下列常见复杂度量级,按渐近增长速度从慢到快排列,正确的是( )。

A

$O(n^2)$、$O(nlog n)$、$O(n)$、$O(log n)$

B

$O(log n)$、$O(n)$、$O(n^2)$、$O(nlog n)$

C

$O(log n)$、$O(n)$、$O(nlog n)$、$O(n^2)$

D

$O(nlog n)$、$O(log n)$、$O(n)$、$O(n^2)$

第 14 题
对长度为 $n$ 的数组使用差分数组支持 $m$ 次区间加操作,最后通过一次前缀和还原每个位置的最终值,整个过程的渐进时间复杂度为( )。
A
$O(mn)$
B
$O((n+m)log n)$
C
$O(nlog m)$
D
$O(n+m)$
第 15 题

下列程序的输出结果为( )。

#include <iostream>
using namespace std;
class A {
    public:
    A() {
        cout << "A";
    }
    ~A() {
        cout << "~A";
    }
};
class B : public A {
    public:
    B() {
        cout << "B";
    }
    ~B() {
        cout << "~B";
    }
};
int main() {
    B b;
    return 0;
}
A

BA~A~B

B

BA~B~A

C

AB~A~B

D

AB~B~A

单选题部分已到底了。

小程序开心码未来

微信扫码,随时随地练 GESP 真题

  • 手机刷题 · 自动判分,错题自动归档到错题本
  • 绑定网站账号后,查看答案解析等权限自动同步
开心码未来小程序二维码(微信扫一扫) 微信扫一扫