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

所有 GESP 真题,手机上也能刷 · 自动判分 · 错题自动进错题本 扫码去刷
二 判断题
共 10 道 每题 2 分 共计 20 分
第 1 题

下列代码可以正常编译,因为编译器会自动为 Student 类生成一个无参数构造函数。

class Student {
    public:
    Student(int x) {
        age = x;
    }

    private:
    int age;
};

int main() {
    Student s;
}
正确
错误
第 2 题

下列代码合法,因为派生类可以直接访问基类的私有成员 value 。

class Base {
    private:
    int value = 10;
};

class Child : public Base {
    public:
    int get() {
        return value;
    }
};
正确
错误
第 3 题

下列代码执行后,输出结果为 30 。

queue<int> q;
q.push(10);
q.push(20);
q.push(30);
q.pop();
cout << q.front();
正确
错误
第 4 题
一棵完全二叉树按照从上到下、从左到右的顺序,将节点依次存储在数组 tree[1] 、 tree[2] 、……中。若节点 tree[i] 存在左孩子,则其左孩子存储在 tree[2 * i] 中。
正确
错误
第 5 题

对任意一棵二叉搜索树执行中序遍历,得到的关键字序列一定是非递减的。

void inorder(TreeNode *root) {
    if (!root)
        return;
    inorder(root->left);
    cout << root->val << " ";
    inorder(root->right);
}
正确
错误
第 6 题

若使用下列代码从节点 start 开始访问一棵树,则第一次到达某个节点时所经过的边数,一定是从start 到该节点的最少边数。

vector<int> tree[100];
bool visited[100];
int dist[100];

void search(int start) {
    queue<int> q;
    q.push(start);
    visited[start] = true;
    dist[start] = 0;

    while (!q.empty()) {
        int u = q.front();
        q.pop();

        for (int v : tree[u]) {
            if (!visited[v]) {
                visited[v] = true;
                dist[v] = dist[u] + 1;
                q.push(v);
            }
        }
    }
}
正确
错误
第 7 题
哈夫曼编码的生成过程基于贪心算法,出现频率越高的字符,其编码长度一定不会比出现频率更低的字符更长。
正确
错误
第 8 题
在 $n$ 位格雷码中,任意两个编码之间都只相差一个二进制位。
正确
错误
第 9 题

下列一维动态规划代码实现的是完全背包问题,因为在处理第 i 种物品时,同一种物品可能被重复选择。

for (int i = 0; i < n; ++i) {
    for (int w = weight[i]; w <= W; ++w) {
        dp[w] = max(dp[w], dp[w - weight[i]] + value[i]);
    }
}
正确
错误
第 10 题

下列递归程序能得到正确的斐波那契数,其时间复杂度和空间复杂度都是 $O(n)$。

int fib(int n) {
    if (n <= 1)
        return n;
    return fib(n - 1) + fib(n - 2);
}
正确
错误
判断题部分已到底了。

小程序开心码未来

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

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