A. GESP四级等级考试模拟选择题

    客观题

GESP四级等级考试模拟选择题

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

单选题(每题2分,共30分)

  1. 下列关于 C++ 函数的描述中,正确的是( )。{{ select(1) }}
  • 函数必须有返回值,否则无法通过编译
  • 一个 C++ 程序中可以没有 main 函数
  • 函数可以调用自身,这称为递归
  • 函数定义可以嵌套,即一个函数内部可以定义另一个函数
  1. 执行以下代码后,输出结果是( )。
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
  1. 以下代码执行后,输出结果是( )。
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
  1. 以下代码执行后,输出结果是( )。
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
  1. 下列关于指针的描述中,错误的是( )。 {{ select(5) }}
  • 指针变量存储的是内存地址
  • 指针可以用 new 运算符动态分配内存
  • 未初始化的指针(野指针)可以直接使用
  • 使用 delete 释放内存后,建议将指针设为 nullptr
  1. 下面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
  1. 以下结构体定义和使用中,正确的是( )。
struct Point {
    int x;
    int y;
};

{{ select(7) }}

  • Point p = {3};,此时 p.y 的值为 0
  • Point p; p = {3, 5, 7};,可以正常编译
  • struct Point p2 = p; 不支持结构体之间的赋值
  • 结构体中不能包含数组成员
  1. 以下代码执行后,输出结果是( )。
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
  1. 执行以下代码后,输出结果是( )。
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, 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]
  1. 对序列 {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}
  1. 下列排序算法中,具有稳定性的是( )。 {{ select(13) }}
  • 选择排序
  • 冒泡排序
  • 快速排序
  • 堆排序
  1. 某算法对长度为 n 的数据进行处理,其时间复杂度为 O(n²)。当 n 从 1000 增大到 2000 时,运行时间大约变为原来的( )倍。 {{ select(14) }}
  • 2
  • 4
  • 8
  • 16
  1. 下列关于文件操作的描述中,正确的是( )。 {{ select(15) }}
  • ifstream 用于向文件写入数据
  • ofstream 用于从文件读取数据
  • 使用文件流操作后,不需要关闭文件,程序结束时会自动关闭
  • ofstream outfile("data.txt"); 会创建文件 data.txt 用于写入,如果文件已存在则覆盖原内容
状态
已结束
规则
乐多
题目
4
开始于
2026-8-20 10:00
结束于
2026-9-10 6:00
持续时间
500 小时
主持人
参赛人数
9