使用 math.h 或 cmath 头文件中的正弦函数,表达式 sin(30) 的结果类型为 double、值约为 $0.5$。( )
仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。
审题时注意题目要求(选正确还是选错误),避免因审题不清失分。涉及代码的题目要逐行分析变量变化。
【考点】C++标准库函数|三角函数单位制|浮点数语义陷阱
🎯考纲定位 GESP七级C++试卷第26题,卡住的是"数学函数默认用弧度制"这一底层规范。命题人挖的是学生把高中数学公式直接移植到C++环境的惯性思维,把"sin30°=0.5"的结论当成C++代码的行为。
🧠解题思维 看到sin函数先回忆C++规范:sin的参数单位是弧度,30弧度≈5729°,sin(30)≈0.988。命题人故意给"约0.5"这个高中数学熟悉的答案,诱导学生忽略单位制差异。正确推理链:sin30°=0.5成立,但sin(30)在C++里是sin(30 rad),两者数值完全不同。
🪤陷阱拆解 错误选项A设计得极其"贴心"——sin(30)类型确实是double,值约为0.5也符合直觉。命题人利用的陷阱是"语义偷换":把数学公式里的角度符号°直接丢弃,却把数值30原封不动地传给sin函数。如果你只背结论、不理解C++函数参数规范,就会掉进这个坑。
🔄反命题思维 反命题视角:如果题目改成"sin(30*3.14/180)的结果约等于0.5",那答案就变正确了。这类题本质是考"编程环境规范"而非"数学知识",刷到类似题先自问:函数参数单位是什么?不要默认用高中数学公式。