#GESP260604T1. 【GESP26年6月四级】单选题(每题 2 分,共 30 分)

  1. 小杰正在编写一个数字交换器"程序,他希望通过函数交换两个变量的值,请问运行下列代码后,输出结果是( )。
void exchange(int va, int vb) {
    int t = va;
    va = vb;
    vb = t;
}

int main() {
    int a = 100, b = 200;
    exchange(a, b);
    cout << a << " " << b;
    return 0;
}

{{ select(1) }}

  • A. 100 200
  • B. 200 100
  • C. 200 200
  • D. 100 100

  1. 下面的子程序通过函数计算三门课总分,则应该如何填入选项( )。
int sumScore(int a, int b, int c) {
    return a + b + c;
}

int main() {
    int chinese = 80, math = 75, english = 90;
    int total = ________________;
    cout << total;
    return 0;
}

{{ select(2) }}

  • A. sumScore
  • B. sumScore(chinese, math, english)
  • C. sumScore(int chinese, int math, int english)
  • D. sumScore(a, b, c)

  1. 下面程序的输出结果是( )。
int addOne(int x) {
    return x + 1;
}
int main() {
    int a = 6;
    cout << addOne(a) + addOne(3);
    return 0;
}

{{ select(3) }}

  • A. 9
  • B. 10
  • C. 11
  • D. 12

  1. 关于下面程序,说法正确的是( )。
void show() {
    int stars = 5;
}
int main() {
    cout << stars;
    return 0;
}

{{ select(4) }}

  • A. 程序输出 5
  • B. 程序可以通过编译,但输出随机值
  • C. 程序不能通过编译,因为 stars 只在 show 函数中有效
  • D. 程序不能通过编译,因为 cout 不能输出变量

  1. 小杨在调试一个"等级提升"系统,代码逻辑如下,执行后 *p 的值是( )。
int lv = 5, next_lv = 6;
int *p = &lv;
*p = *p + 1;
p = &next_lv;

{{ select(5) }}

  • A. 5
  • B. 6
  • C. lv 的地址
  • D. next_lv 的地址

  1. 小杨正在开发一款名为"星际网格"的游戏,他用二维数组 int map[5][4]; 来表示地图。已知 int 占 4 字节,如果 map 的内存地址是 0x2000 ,则表达式 &map + 1 的地址值是( )。

{{ select(6) }}

  • A. 0x204c
  • B. 0x205c
  • C. 0x2050
  • D. 0x2058

  1. 执行完下面代码后,变量 val 的值是( )。
int data[] = {10, 20, 30, 40, 50};
int *ptr = data + 2;
int val = *(ptr - 1) + *(ptr + 1);

{{ select(7) }}

  • A. 50
  • B. 60
  • C. 70
  • D. 80

  1. 某班 3 个小组、每组 4 名同学的分数存入下面的二维数组 score ,则 score[1][2] 的值是( )。
int score[3][4] = {
    {80, 81, 82, 83},
    {90, 91, 92, 93},
    {70, 71, 72, 73}
};

{{ select(8) }}

  • A. 81
  • B. 90
  • C. 92
  • D. 72

  1. 小杨定义了一个结构体 Hero 来表示游戏角色,下面哪种初始化方式会由于语法错误导致编译失败?( )。
struct Hero {
    string name;
    int hp;
};

{{ select(9) }}

  • A. Hero h = {"Arthur", 100};
  • B.
Hero h;
h.name = "Arthur";
h.hp = 100;
  • C. Hero h = new Hero{"Arthur", 100};
  • D. Hero *p = new Hero{"Arthur", 100};

  1. 下面程序输出结果是( )。
struct Book {
    string title;
    int pages;
};
int main() {
    Book books[2] = {{"Math", 120}, {"Science", 150}};
    cout << books[1].title;
    return 0;
}

{{ select(10) }}

  • A. Math
  • B. Science
  • C. 120
  • D. 150

  1. 小杨在为"宝藏商品广场"做竞拍排行榜,如果商品在售就进行排序,如果售完商品在售就保持原排序,他希望保持位置不变的元素在排序后仍然保持相对顺序不变。下列关于排序算法稳定性的说法,错误的是( )。

{{ select(11) }}

  • A. 直接插入排序是稳定的,因为元素交互总是在相邻元素之间
  • B. 选择排序是不稳定的,因为它可能跳过中间元素直接交换
  • C. 插入排序是稳定的,因为它只在发现更小值时才进行交换操作
  • D. 稳定性是指排序后相同元素的相对顺序不发生变化

  1. 小杨的程序从入口走到目标位置的迷宫,路径编号为 1、2、3。现将从大到小的算法改为从小到大排序,若原排序代码如第 1 行至第 7 行,则以下哪行代码中应该将比较符号修改?( )。
int temp[n + 2];
for (int i = 0; i < n; i++) {
    temp[i] = arr[i];
}
for (int i = 1; i < n; i++) {
    for (int j = i; j > 0; j--) {
        if (temp[j] < temp[j - 1]) {
            swap(temp[j], temp[j - 1]);
        }
    }
}
return temp;

{{ select(12) }}

  • A. 5
  • B. 6
  • C. 7
  • D. 8

  1. 在"魔法实验室"程序中,为了阻止随意丢弃错误数据,小杨使用了异常处理机制,执行以下代码的输出结果是( )。
try {
    int a = 10, b = 0;
    if (b == 0)
        throw "Zero Error";
    cout << a / b;
} catch (const char* msg) {
    cout << "Error Code: " << 1;
}
cout << " Caught: " << msg;

{{ select(13) }}

  • A. 0
  • B. Error Code: 0
  • C. Caught: Zero Error
  • D. 程序无法编译

  1. 下面代码是某种排序算法,根据代码中的元素比较从小到大排序,这段代码所使用的排序算法是( )。
void mystery_sort(double arr[], int n) {
    for (int i = 0; i < n - 1; i++) {
        int minPos = i;
        for (int j = i + 1; j < n; j++) {
            if (arr[j] < arr[minPos]) {
                minPos = j;
            }
        }
        double temp = arr[i];
        arr[i] = arr[minPos];
        arr[minPos] = temp;
    }
}

{{ select(14) }}

  • A. 冒泡排序
  • B. 插入排序
  • C. 选择排序
  • D. 非典型排序

  1. 小杨正在读取"冒险日志"文件 quest.txt 。若文件内容为 Level 10 ,执行以下程序后输出为( )。
ifstream fin("quest.txt");
string s;
int v;
fin >> s >> v;
cout << s.length() * v;

{{ select(15) }}

  • A. 50
  • B. 15
  • C. 70
  • D. 5
Problem Info

#GESP260604T1. 【GESP26年6月四级】单选题(每题 2 分,共 30 分)

ID 10289
类型 客观题
尝试 0 已通过 0
难度 (无)
上传者
标签
GESP四级