GESP四级等级考试模拟选择题
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
单选题(每题2分,共30分)
- 下列关于 C++ 函数的描述中,正确的是( )。{{ select(1) }}
- 函数必须有返回值,否则无法通过编译
- 一个 C++ 程序中可以没有 main 函数
- 函数可以调用自身,这称为递归
- 函数定义可以嵌套,即一个函数内部可以定义另一个函数
- 执行以下代码后,输出结果是( )。
int x = 10;
void test() {
int x = 20;
cout << x << " ";
}
int main() {
test();
cout << x;
return 0;
}
{{ select(2) }}
- 20 10
- 10 10
- 20 20
- 10 20
- 以下代码执行后,输出结果是( )。
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 3, y = 7;
swap(&x, &y);
cout << x << " " << y;
return 0;
}
{{ select(3) }}
- 3 7
- 7 3
- 3 3
- 7 7
- 以下代码执行后,输出结果是( )。
void add(int a, int &b) {
a = a + 5;
b = b + 5;
}
int main() {
int x = 10, y = 10;
add(x, y);
cout << x << " " << y;
return 0;
}
{{ select(4) }}
- 15 15
- 10 15
- 15 10
- 10 10
- 下列关于指针的描述中,错误的是( )。 {{ select(5) }}
- 指针变量存储的是内存地址
- 指针可以用 new 运算符动态分配内存
- 未初始化的指针(野指针)可以直接使用
- 使用 delete 释放内存后,建议将指针设为 nullptr
- 下面C++代码执行后输出是( )。
int arr[] = {5, 10, 15, 20, 25};
int *p = arr;
cout << *(p + 3) << " " << p[2];
{{ select(6) }}
- 15 10
- 20 15
- 20 10
- 15 15
- 以下结构体定义和使用中,正确的是( )。
struct Point {
int x;
int y;
};
{{ select(7) }}
- Point p = {3};,此时 p.y 的值为 0
- Point p; p = {3, 5, 7};,可以正常编译
- struct Point p2 = p; 不支持结构体之间的赋值
- 结构体中不能包含数组成员
- 以下代码执行后,输出结果是( )。
struct Student {
string name;
int score;
};
int main() {
Student s[3] = {{"Tom", 85}, {"Jerry", 92}, {"Alice", 78}};
int maxScore = s[0].score;
for (int i = 1; i < 3; i++) {
if (s[i].score > maxScore)
maxScore = s[i].score;
}
cout << maxScore;
return 0;
}
{{ select(8) }}
- 85
- 92
- 78
- 255
9.已知二维数组 int a[3][4],若 a[0] 的地址为 0x1000,每个 int 占 4 字节,则 &a[1][2] 的地址是( )。 {{ select(9) }}
- 0x1018
- 0x101C
- 0x1020
- 0x1028
- 执行以下代码后,输出结果是( )。
int a[2][3] = {{1, 2, 3}, {4, 5, 6}};
int sum = 0;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 3; j++)
if ((i + j) % 2 == 0)
sum += a[i][j];
cout << sum;
{{ select(10) }}
- 12
- 9
- 15
- 6
- 一个数列的前几项为 1, 1, 2, 3, 5, 8, 13, ...,该数列的递推关系是( )。
{{ select(11) }}
- a[n] = a[n-1] + n
- a[n] = 2 × a[n-1]
- a[n] = a[n-1] + a[n-2]
- a[n] = a[n-1] × a[n-2]
- 对序列 {5, 2, 8, 1, 9} 使用冒泡排序(从小到大),第一趟排序后序列变为( )。 {{ select(12) }}
- {2, 5, 1, 8, 9}
- {1, 2, 5, 8, 9}
- {2, 5, 8, 1, 9}
- {1, 5, 2, 8, 9}
- 下列排序算法中,具有稳定性的是( )。 {{ select(13) }}
- 选择排序
- 冒泡排序
- 快速排序
- 堆排序
- 某算法对长度为 n 的数据进行处理,其时间复杂度为 O(n²)。当 n 从 1000 增大到 2000 时,运行时间大约变为原来的( )倍。 {{ select(14) }}
- 2
- 4
- 8
- 16
- 下列关于文件操作的描述中,正确的是( )。 {{ select(15) }}
- ifstream 用于向文件写入数据
- ofstream 用于从文件读取数据
- 使用文件流操作后,不需要关闭文件,程序结束时会自动关闭
- ofstream outfile("data.txt"); 会创建文件 data.txt 用于写入,如果文件已存在则覆盖原内容
- 状态
- 已结束
- 规则
- 乐多
- 题目
- 4
- 开始于
- 2026-8-20 10:00
- 结束于
- 2026-9-10 6:00
- 持续时间
- 500 小时
- 主持人
- 参赛人数
- 9