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

选择题 · 答案 C

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

题目

执行以下 C++ 代码后,c 的数值是( )。

int a = 10, b = 3;
double c = a / b;
答案:C

解题思维

答案C。C++运算符包括&(取地址/按位与)、&&(逻辑与)、*(乘/解引用),但没有**运算符(幂运算需用pow函数)。

常见错误

C++没有**运算符(幂运算)!幂运算用pow()函数或手动编写循环。

详细解析(节选)

【考点】数据类型转换|整数除法|隐式类型转换

1. 🎯 考纲定位:GESP 202509 三级大纲「数据类型与运算」模块第 7 课时。命题人专盯「看到 double 变量就以为会浮点运算」的惯性思维,卡住的是考生对运算符类型依赖的盲区。

2. 🧠 解题思维:C++ 运算符重载规则——/ 号实际行为取决于操作数类型,而非目标变量类型。a/b 是 int/int 运算,值截断为 3,再赋值给 double 只是类型提升,不产生小数。完整流程:10/3=3(整数除法)→c=3.0。

3. 🪤 陷阱拆解:A/B 都是按浮点除法 10.0/3.0≈3.333 设计,诱导人以为目标类型决定运算精度;C 选项 3.0 才是整数除法后隐式转换的真值;D 选项 3.3 是命题人随手写的干扰项。最阴险的陷阱就是「变量类型决定运算方式」——这错得离谱。

4. 🔄 反命题思维:若改成 double c = (double)a / b; 答案立刻变 A。刷到这类题先问自己:「/ 号两边到底是什么类型?」

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