GESP 四级 · GESP 202603 C++ 四级 第 15 题

选择题 · 答案 A · 考点:循环控制

← 整套速查表 GESP 四级 全部真题

题目

下列函数实现排行榜中单个元素的位置调整(类似插入排序的相邻搬移)。当某玩家分数增加,需将其向前移动时, while 循环的条件应为( )。

struct Player{ int score; };
void up(Player players[], int n, int idx){
    Player cur = players[idx];
    int i = idx;
    while( _________________ ){
        players[i] = players[i-1];
        i--;
    }
    players[i] = cur;
}
答案:A

考点

循环控制

解题思维

答案A。>=是大于等于比较运算符,>>=是右移赋值运算符(a>>=3等价于a=a>>3)。两者都是合法的C++运算符。

常见错误

>=是右移赋值运算符,不是比较运算符。a>>=3相当于a=a>>3,将a右移3位。

详细解析(节选)

【考点】循环控制|数组操作|插入排序思想

1. 🎯 考纲定位

GESP 四级 C++ 模块 3"循环与数组"。命题人卡住的是学生死记循环条件结构却不懂语义推导——四级学生普遍只会写 for(i=0;i<n;i++),对 while 的终止条件(既要保护数组边界,又要满足业务逻辑)缺乏敏感度。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断