林老师 · 客观题题库 · GESP 四级 · 2024 真题

GESP 四级 · 2024 真题

四级 · 2024 真题 · 客观题 · 每题 2 分
真题
复刻
试卷编号OBJ-756160
题目总数25 题 · 50 分
试卷类型客观题
考生须知:
① 本卷为客观题单卷,合计 25 题 · 50 分,全部为客观题;
② 试卷右上角设有 「提交答卷」「重置考试」 按钮,提交后系统自动判分并显示答题正确情况,请确认全部作答后再行提交;
③ 试卷不显示答案,提交后方可查看每题作答与正确答案的对照;
④ 答卷进度会保留在本地缓存中,刷新或再次打开仍可继续作答;
⑤ 本卷仅供学生练习使用;请勿用于其他用途;题面有问题请联系:i64coder@163.com。

判 分 报 告

0 / 50 分
0
答 对 · 得 0
0
答 错 · 失 0
当前筛选下没有题目

客 观 题

25 QUESTIONS · 2 POINTS EACH
第 1 题 单选 未作答

在 C++ 中,( )正确定义了一个返回整数值并接受两个整数参数的函数。

(2 分)
GESP 四级 2024-09 · 单选 第1题 | 知识点 函数定义与调用、形参与实参
第 2 题 单选 未作答

在 C++ 中,形参与实参的关系描述正确的是( )。

(2 分)
GESP 四级 2024-09 · 单选 第2题 | 知识点 形参与实参、函数定义与调用
第 3 题 单选 未作答

运行以下代码,屏幕上将输出( )。

01#include <iostream>
02using namespace std;
03
04int var = 100;
05
06void function() {
07    int var = 200;
08
09    cout << var << " ";
10    cout << ::var << " ";
11}
12
13int main() {
14    cout << var << " ";
15
16    function();
17
18    var += 100;
19    cout << var << " ";
20
21    return 0;
22}

(2 分)
GESP 四级 2024-09 · 单选 第3题 | 知识点 作用域、常量与变量、程序阅读与输出推断
第 4 题 单选 未作答

运行下面代码,屏幕上输出是( )。

01int arr[3] = {24, 9, 7};
02int* p = arr;
03p++;
04cout << *p << endl;

(2 分)
GESP 四级 2024-09 · 单选 第4题 | 知识点 指针、一维数组、程序阅读与输出推断
第 5 题 单选 未作答

运行下面代码片段的结果是( )。

01int x = 20;
02int y = 24;
03int* p = &x;
04int* q = &y;
05
06p = q;

(2 分)
GESP 四级 2024-09 · 单选 第5题 | 知识点 指针、程序阅读与输出推断
第 6 题 单选 未作答

在 C++ 中,( )正确定义一个名为 student 的结构体,其中包含一个 name 字符数组和一个 age 整数?

(2 分)
GESP 四级 2024-09 · 单选 第6题 | 知识点 结构体、字符数组
第 7 题 单选 未作答

在 C++ 中,( )正确声明了一个 3344 列的二维数组。

(2 分)
GESP 四级 2024-09 · 单选 第7题 | 知识点 二维数组、一维数组
第 8 题 单选 未作答

一个二维数组定义为 int arr[3][4];(假设一个 int 变量占 44 个字节),则 int arr[0] 占用( )个字节的内存。

(2 分)
GESP 四级 2024-09 · 单选 第8题 | 知识点 二维数组、存储单位换算
第 9 题 单选 未作答

下面代码采用递推算法来实现整数 nn 的阶乘(n!=n×(n1)××2×1n! = n \times (n-1) \times \ldots \times 2 \times 1),则横线上应填写( )。

01int factorial(int n) {
02    int result = 1;
03    for (int i = 2; i <= n; i++) {
04        ____________  // 在此处填入代码
05    }
06    return result;
07}

(2 分)
GESP 四级 2024-09 · 单选 第9题 | 知识点 递推、程序补全、for循环
第 10 题 单选 未作答

在排序算法中,稳定性指的是( )。

(2 分)
GESP 四级 2024-09 · 单选 第10题 | 知识点 排序稳定性、排序复杂度
第 11 题 单选 未作答

下面代码实现了冒泡排序函数,则横线上应填写( )。

01//交换数组arr的第i个元素和第j个元素
02void swap(vector<int> &arr, int i, int j) {
03    int tmp = arr[i];
04    arr[i] = arr[j];
05    arr[j] = tmp;
06}
07
08int bubble_sort(vector<int> &arr) {
09    for (int i = arr.size() - 1; i > 0; i--) {
10        bool flag = false; // 标志位
11        ____________{    // 在此处填入代码
12            if(arr[j] > arr[j + 1]) {
13                swap(arr, i, j);
14                flag = true;
15            }
16        }
17        if(!flag)
18            break; // 此轮"冒泡"未交换任何元素
19    }
20}
21

(2 分)
GESP 四级 2024-09 · 单选 第11题 | 知识点 冒泡排序、程序补全、for循环
第 12 题 单选 未作答

冒泡排序算法在最坏情况下的时间复杂度为( )。

(2 分)
GESP 四级 2024-09 · 单选 第12题 | 知识点 冒泡排序、排序复杂度
第 13 题 单选 未作答

下面代码实现了插入排序函数(升序),则横线上应填写( )。

01void insertion_sort(vector<int> &nums) {
02    for (int i = 1; i < nums.size(); i++) {
03        int base = nums[i], j = i - 1;
04
05        ____________{    // 在此处填入代码
06            nums[j + 1] = nums[j];
07            j--;
08        }
09        nums[j + 1] = base;
10    }
11}

(2 分)
GESP 四级 2024-09 · 单选 第13题 | 知识点 插入排序、程序补全、while循环
第 14 题 单选 未作答

小杨用文件重定向实现在 log.txt 文件中输出日志,则下面横线上应填写( )。

01#include <iostream>
02#include <fstream>
03#include <string>
04using namespace std;
05
06int main() {
07    ofstream log_file("log.txt");
08
09    streambuf* original_cout = cout.rdbuf();
10    cout.rdbuf(log_file.rdbuf());
11
12    ____________{    // 在此处填入代码
13
14    cout.rdbuf(original_cout);  // 恢复原始的标准输出缓冲区
15    return 0;
16}

(2 分)
GESP 四级 2024-09 · 单选 第14题 | 知识点 文件读写、cin与cout、程序补全
第 15 题 单选 未作答

运行下面的代码,屏幕上将输出( )。

01#include <iostream>
02using namespace std;
03
04int divide(int a, int b) {
05    if (b == 0) {
06        throw runtime_error("division by zero error ");
07    }
08    return a / b;
09}
10
11int main() {
12    int x = 10;
13    int y = 0;  // 设为 0 会导致除零错误
14
15    try {
16        int result = divide(x, y);
17        cout << "result: " << result <<endl;
18    }catch (const runtime_error& e) {
19        cout << "caught an exception: " << e.what() << endl;
20    }
21
22    return 0;
23}

(2 分)
GESP 四级 2024-09 · 单选 第15题 | 知识点 异常处理、程序阅读与输出推断
第 16 题 判断 未作答

代码 int a = 10; int* p = &a; 可以正确定义指针和初始化指针。

(2 分)
GESP 四级 2024-09 · 判断 第1题 | 知识点 指针、常量与变量
第 17 题 判断 未作答

在 C++ 中,引用传递允许函数修改传递给它的参数的值。

(2 分)
GESP 四级 2024-09 · 判断 第2题 | 知识点 值传递与引用传递、引用
第 18 题 判断 未作答

指针的大小与其所指向的变量的数据类型的大小相同。

(2 分)
GESP 四级 2024-09 · 判断 第3题 | 知识点 指针、常量与变量
第 19 题 判断 未作答

二维数组的行的大小的必须在定义时确定,列的大小可以动态变化。

(2 分)
GESP 四级 2024-09 · 判断 第4题 | 知识点 二维数组、常量与变量
第 20 题 判断 未作答

递推算法通过逐步求解当前状态和前一个或几个状态之间的关系来解决问题。

(2 分)
GESP 四级 2024-09 · 判断 第5题 | 知识点 递推、递推计数
第 21 题 判断 未作答

选择排序是稳定的排序算法。

(2 分)
GESP 四级 2024-09 · 判断 第6题 | 知识点 选择排序、排序稳定性
第 22 题 判断 未作答

插入排序的时间复杂度总是比冒泡排序低。

(2 分)
GESP 四级 2024-09 · 判断 第7题 | 知识点 插入排序、排序复杂度
第 23 题 判断 未作答

在 C++ 中,如果没有捕获到异常(没有匹配的 catch 块),程序会继续执行而不会终止。

(2 分)
GESP 四级 2024-09 · 判断 第8题 | 知识点 异常处理、C++程序结构
第 24 题 判断 未作答

以下代码用递推法求斐波那契数列的第 nn 项,时间复杂度为指数级。

01int fibonacci(int n) {
02    if (n == 0) return 0;
03    if (n == 1) return 1;
04
05    int f0 = 0; // F(0)
06    int f1 = 1; // F(1)
07    int current;
08
09    for (int i = 2; i <= n; i++) {
10        current = f0 + f1; // F(n) = F(n-1) + F(n-2)
11        f0 = f1;
12        f1 = current;
13    }
14
15    return current;
16}

(2 分)
GESP 四级 2024-09 · 判断 第9题 | 知识点 递推、时间复杂度、程序阅读与输出推断
第 25 题 判断 未作答

执行下面 C++ 代码后,输出的是 2020

01int point(int* p){
02    return *p * 2;
03}
04
05int main() {
06    int a = 10;
07    int* p = &a;
08    *p = point(p);
09    cout << *p << endl;
10}

(2 分)
GESP 四级 2024-09 · 判断 第10题 | 知识点 指针、程序阅读与输出推断