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

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

运行以下程序后,变量 a 的值最终会变为 $20$。

void modify(int *p) {
    *p = *p + 10;
}

int main() {
    int a = 10;
    modify(&a);
    return 0;
}
正确
错误
第 2 题

在 C++ 中,引用一旦初始化并绑定到某个变量后,可以通过赋值语句将其重新绑定到另一个变量。

正确
错误
第 3 题

下面程序可以正确计算并输出 $3$ 名学生的平均成绩。

struct Student {
    int id;
    int score;
};

int main() {
    Student students[3] = {
        {1, 90},
        {2, 80},
        {3, 100}
    };

    int sum = 0;
    for (int i = 0; i < 3; i++) {
        sum += students[i].score;
    }
    double average = sum / 3.0;
    cout << average << endl;
    return 0;
}
正确
错误
第 4 题

选择排序算法在寻找每一轮最小值时,如果遇到相等的元素不进行交换,则选择排序是一种稳定的排序算法。

正确
错误
第 5 题

如果使用带 flag 的冒泡排序,且待排序数组一开始就是有序的,那么算法只需一轮扫描即可结束,时间复杂度为 O(n)。

正确
错误
第 6 题

在 C++ 中定义二维数组并初始化时,可以省略第一维,但不能省略第二维。因此 int a[][2] = {{1, 2}, {3, 4}}; 是合法的,而 int a[][] = {{1, 2}, {3, 4}}; 是不合法的。

正确
错误
第 7 题

下面代码的时间复杂度是 $O(2^n)$。

int cnt = 0;
for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= i; j++) {
        cnt++;
    }
}
正确
错误
第 8 题

假设文件 output.txt 能正常打开,下面代码通过 rdbuf 将 cout 的输出重定向到了文件中。

ofstream fout("output.txt");
streambuf* old_buf = cout.rdbuf();
cout.rdbuf(fout.rdbuf());
cout << "GESP Exam";
cout.rdbuf(old_buf);
正确
错误
第 9 题

小杨想通过下面程序给饭卡充值,程序会输出 $70$。

void recharge(int money) {
    money += 20;
}

int main() {
    int card = 50;
    recharge(card);
    cout << card;
    return 0;
}
正确
错误
第 10 题

下面代码可以通过编译。

int a[5];
a++;
正确
错误
判断题部分已到底了。

小程序开心码未来

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

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