GESP 三级 · GESP 202409 C++ 三级 第 1 题

选择题 · 答案 B

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

题目

下列代码中,输出结果是( )

#include <iostream>
using namespace std;
int main()
{
    double a = 0.9;
    double b = 1.0;
    if ((b - a) == 0.1)
    {
        cout << "Equal" << endl;
    }
    else
    {
        cout << "Not equal" << endl;
    }
}
答案:B

解题思维

答案B。数组和位运算的代码追踪要特别小心:数组下标从0开始,位运算结果可能不直观。建议画图辅助。

常见错误

位运算追踪时建议把数字写成二进制形式再逐位计算。

详细解析(节选)

【考点】浮点数精度|类型转换|条件判断

1. 🎯 考纲定位

本题考查 GESP 三级"基础编程"模块中的浮点数运算特性。命题人专门在此处埋雷——它卡住的是 90% 考生的直觉误区:以为浮点数加减能像小学算术那样精准对齐,却不知计算机底层二进制存储时,0.9 和 0.1 都是无限循环小数,无法精确表示,运算结果必然存在微小偏差。

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