CCF GESP 2026年9月认证 C++ 4级
所有 GESP 真题,手机上也能刷 · 自动判分 · 错题自动进错题本 扫码去刷
二
判断题
第 1 题
执行下面程序后,变量 a 的值为 15 。
int a = 10;
int *p = &a;
*p += 5;
第 2 题
一个函数必须在调用之前既声明又定义。
第 3 题
下面二维数组在内存中按行优先连续存储,因此
*(*(a + 1) + 0) 的值为 5 。int a[2][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}};
第 4 题
执行下面程序后会输出 20 。
void change(int x) {
x = 20;
}
int main() {
int x = 10;
change(x);
cout << x;
return 0;
}
第 5 题
下面结构体初始化语句是合法的。
struct Point {
int x;
int y;
};
Point p{3, 4};
第 6 题
对于按升序实现的稳定插入排序,移动元素的条件通常应为 a[j] >= key ,这样能够保证相等元素的相对顺序不变。
while (j >= 0 && a[j] >= key) {
a[j + 1] = a[j];
j--;
}
第 7 题
下面递推程序计算 $n!$。当 n = 4 时,返回值为 24 。
int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
第 8 题
下面两层循环的时间复杂度是 $O(n²)$。
for (int i = 0; i < n; i++) {
for (int j = 1; j < n; j *= 2) {
cout << i + j;
}
}
第 9 题
假设文件能够正常打开,下面程序会把 Welcome 写入 log.txt 。
int main() {
ofstream fout("log.txt");
fout << "Welcome";
fout.close();
return 0;
}
第 10 题
执行下面程序时, catch (int e) 能够捕获由 throw "Error" 抛出的异常,因此程序输出 Caught 。
int main() {
try {
throw "Error";
} catch (int e) {
cout << "Caught";
}
return 0;
}
判断题部分已到底了。