下列关于 <cmath> 或 <math.h> 中的数学库函数的说法,正确的是( )。
判断正误题需注意绝对化表述("一定""必须""只能"等)往往是错误的。
判断题中注意"一定""总是""所有""唯一"等绝对化表述通常是错误的。但也要结合具体知识点判断。
【考点】函数返回类型|cmath 库函数特性|弧度制与角度制
【考纲定位】本题属 GESP 七级"数学运算"模块。命题人专盯"函数名会读但返回值类型记混"的盲点——学生常误以为整数结果必为 int,或把 sin 参数当角度,这正是七级区分度所在。
【解题思维】逐项核对返回值:sqrt 返回 double,log2 返回 double,pow 返回 double,sin 参数为弧度。A 中 sqrt(49)=7.0 是浮点,可参与浮点运算,正确;B 中 log2(32)=5.0 而非 int;C 中 pow(2,5)=32.0 而非 int;D 中 sin(90) 是 sin(90 弧度) 约 -0.89,绝非 90 度。此类题的通法是:先确认函数来自哪个头文件及默认返回类型,再验证参数单位(角度/弧度)。
【陷阱拆解】B 的陷阱在于"log2(32) 结果整数就以为返回 int",命题人利用"整数结果必为整型"的惯性思维;C 的陷阱是"pow 返回整数就默认 int",用"一定为"这种绝对化表述放大错误;D 的陷阱是"sin 括号里填数字就以为是角度",偷换概念,把弧度制当成角度制。若只背结论不推敲类型,必踩这些坑。
【反命题思维】若把 sqrt 换成 sqrt(49.0) 或 log2(32.0),返回值仍是 double,选项 B、C 仍错;若把 sin(90) 改成 sin(M_PI/2),返回值 1.0 仍是 double。刷到类似题先问"考的是返回值类型还是参数单位",别被数字表象带偏。