GESP 七级 · GESP 202506 C++ 七级 第 20 题

判断题 · 答案 B · 考点:函数

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

题目

使用 math.h 或 cmath 头文件中的函数,表达式 pow(10, 3) 的结果的值为 1000 、类型为 int 。

答案:B

考点

函数

解题思维

仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。

常见错误

审题时注意题目要求(选正确还是选错误),避免因审题不清失分。涉及代码的题目要逐行分析变量变化。

详细解析(节选)

【考点】函数返回值类型|cmath头文件|数据类型转换

🎯 考纲定位 本题属于 GESP 七级 C++ 标准库使用范畴,重点考察 pow 函数的返回值类型与头文件选择。命题人卡在考生对 C++ 标准库函数返回值的模糊认知上——多数人默认整数运算结果必为 int,却忽略了 pow 在 C++ 中始终返回浮点类型。

🧠 解题思维 看到 pow(10, 3) 第一反应是计算 10³=1000,但必须追问"它是什么类型?"查阅 C++ 标准可知,pow 定义在 cmath(而非 C 语言的 math.h),且其返回类型为 double。因此表达式结果为 1000.0,类型是 double 而非 int。通法:调用任何库函数前先确认其返回类型,尤其是涉及数值运算的函数(如 sqrt、log 等)几乎都返回浮点型。

🪤 陷阱拆解 错误选项 A 利用了"整数指数运算结果应为整数"的直觉陷阱,以及将 C 语言头文件 math.h 与 C++ 头文件 cmath 混淆的常见误区。题目最阴险处在于"结果为 1000"这一半真话——数值确实正确,但类型描述完全错误,这正是命题人设置的"部分正确但整体错误"的陷阱,专击那些只记结论、不查文档的考生。

🔄 反命题思维 若将题干改为"pow(10, 3) 结果为 1000.0,类型为 double",则答案为正确。刷到类似题时,先自问:这个函数在 C++ 标准库中定义在哪里?它返回什么类型?是否涉及隐式类型转换?——这三问能帮你避开 80% 以上的库函数陷阱。

同考点真题

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