GESP 七级 · GESP 202606 C++ 七级 第 17 题

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

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

题目

使用 cmath 或 math.h 中的 pow(2, 10) 计算 $2^{10}$ 时,由于参数均为整型 int,返回值类型也为整型 int。

答案:B

考点

函数

解题思维

判断正误题需注意绝对化表述("一定""必须""只能"等)往往是错误的。

常见错误

判断题中注意"一定""总是""所有""唯一"等绝对化表述通常是错误的。但也要结合具体知识点判断。

详细解析(节选)

【考点】GESP 七级 C++ 标准库函数|类型提升|返回值类型

命题人专门卡住“数学库函数返回值必为浮点型”这一基础认知,七级考生常误以为参数类型决定返回值类型。类型提升是 C++ 基础,但考生易忽略函数定义才是返回值来源。

题目提及 cmath 或 math.h,强调标准库函数特性。看到 pow 函数定义 double pow(double, double) 即可判断。关键观察:即使传 int 参数,实参会被隐式转换为 double,返回值类型固定为 double。通法:数学库函数(如 sin/log/sqrt)返回值必为浮点型,与参数类型无关。

错误选项诱你陷入“参数类型决定返回值类型”的误区。最阴险细节:pow 函数定义中参数虽为 double,但题目描述说“参数均为 int",实则考查的是类型提升——int 会被提升为 double 传入函数,返回值类型由函数定义决定,而非实参类型。pow 函数设计用于实数运算,返回值类型固定为 double,无论实参如何。若只背结论,就会掉进“参数类型决定返回值”这个陷阱。

命题人视角:若把条件改为“使用 sqrt 计算时返回值类型”,答案仍是 double;若问“pow(2, 10) 结果能否存 int 变量”,需先转换。ceil/floor 虽返回 double,但可安全赋给 int 变量。刷到类似题,先问自己:该函数的返回值类型由什么决定?

同考点真题

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