GESP C++ 真题 · 逐题精解
首页 › C++三级真题 › 2026年9月 › 第5题

GESP 2026年9月 C++三级 单选题 第5题

C++三级单选题2026年9月第5题

所属知识点:进制与编码 难度要求:熟悉 考频:—

下面程序执行的结果是(  )。
#include <iostream>
using namespace std;
int main() {
    int x = 2026;
    int count = 0;
    while (x > 0) {
        count++;
        x = x & (x - 1);
    }
    cout << count << endl;
}

正确答案:B

题目解析
x = x & (x - 1) 每次消去 x 最低位的 1,循环次数等于 x 二进制中 1 的个数(Brian Kernighan 算法)。2026 = 11111101010₂,共有 8 个 1,故 count 输出 8,选 B。

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习