找到 375 道单选题
EXY-SC-0180
第 196 题

执行下面 C++ 代码,会输出( )。

int divide(int a, int b) {
    if(b == 0) throw "Division by zero";
    return a / b;
}
 
int main() {
    int result = 0;
    try {
        result = divide(10, 0);
        cout << "A";
    }
    catch(const char* msg) {
        cout << "B";
        result = -1;
    }
    cout << result;
    return 0;
}
A

A0

B

B-1

C

A10

D

程序崩溃

语言: C++
GESP真题 四级
2025.12
单选题号: 15
EXY-SC-0179
第 197 题

执行下面 C++ 程序,会输出( )。

int main() {
    ofstream fout("test.txt");
    fout << "Happy" << endl;
    fout << "New Year";
    fout.close();
 
    ifstream fin("test.txt");
    string s1, s2;
    fin >> s1;
    getline(fin, s2);
    fin.close();
 
    cout << s1 << "|" << s2;
    return 0;
}
A

Happy|New Year

B

Happy| New Year

C

HappyNew Year|

D

Happy|

语言: C++
GESP真题 四级
2025.12
单选题号: 14
EXY-SC-0178
第 198 题

给定如下算法,其时间复杂度为( )。

bool f(int arr[], int n, int target) {
    for (int i = 0; i < n; i++) {
        int sum = 0;
        for (int j = 0; j < n; j++) {
            if (i & (1 << j)) {
                sum += arr[j];
            }
        }
        if (sum == target) return true;
    }
    return false;
}
A

$O(n)$

B

$O(n^2)$

C

$O(n^3)$

D

$O(2^n)$

语言: C++
GESP真题 四级
2025.12
单选题号: 13
EXY-SC-0177
第 199 题

某游戏的排行榜系统需要实时更新玩家分数。每次只有一个玩家的分数发生变化,排行榜已经是按分数降序排列的。现在需要将更新后的玩家调整到正确位置。下面的函数 updateRanking() 要实现上述功能,则两处横线上应分别填写( )。

struct Player {
    string name;
    int score;
};
 
// 玩家索引 playerIdx 的分数刚刚更新,需要调整位置
void updateRanking(Player players[], int size, int playerIdx) {
    Player updatedPlayer = players[playerIdx];
 
    if (playerIdx > 0 && updatedPlayer.score > players[playerIdx - 1].score) {
        int i = playerIdx;
        while (____________________) {  // 在此处填入代码
            players[i] = players[i - 1];
            i--;
        }
        players[i] = updatedPlayer;
    }
    else if (playerIdx < size - 1 && updatedPlayer.score < players[playerIdx + 1].score) {
        int i = playerIdx;
        while (____________________) {  // 在此处填入代码
            players[i] = players[i + 1];
            i++;
        }
        players[i] = updatedPlayer;
    }
}
A
i > 0 && updatedPlayer.score > players[i - 1].score
i < size - 1 && updatedPlayer.score < players[i + 1].score
B
i < size - 1 && updatedPlayer.score < players[i + 1].score
i > 0 && updatedPlayer.score > players[i - 1].score
C
i > 0 && updatedPlayer.score < players[i - 1].score
i < size - 1 && updatedPlayer.score < players[i + 1].score
D
i > 0 && updatedPlayer.score < players[i - 1].score
i < size - 1 && updatedPlayer.score > players[i + 1].score
语言: C++
GESP真题 四级
2025.12
单选题号: 12
EXY-SC-0176
第 200 题

下面的函数 selectTopK() 实现从 n 个学生中选出前 k 名成绩最好的学生颁发奖学金(不需要对所有学生完全排序,只需要找出前 k 名),则横线上应填写( )。

struct Student {
    string name;
    int score;
};
 
void selectTopK(Student students[], int n, int k) {
    for (int i = 0; i < k; i++) {
        int maxIdx = i;
        for (__________________) {  // 在此处填入代码
            if (students[j].score > students[maxIdx].score) {
                maxIdx = j;
            }
        }
 
        if (maxIdx != i) {
            Student temp = students[i];
            students[i] = students[maxIdx];
            students[maxIdx] = temp;
        }
    }
}
A

int j = 0; j < n; j++

B

int j = i + 1; j < n; j++

C

int j = i; j < n; j++

D

int j = 1; j <= n; j++

语言: C++
GESP真题 四级
2025.12
单选题号: 11
当前页显示 196 - 200 ,共 375 道单选题