表达式 (6.0 / 3.0) 的计算结果为 2,且结果类型为 int 类型。( )
这题考浮点运算类型。看到6.0和3.0先判定它们是double,C++里二元运算符结果类型由操作数决定,所以6.0/3.0结果是2.0且类型为double,命题人把类型说成int就是错的。
容易惯性套用整数除法,看到6和3就默认结果是2且类型是int,或者只盯着结果值2而忽略类型检查。其实6.0和3.0的小数点直接改变了运算数类型,导致整个表达式提升为double,这是命题人专门挖的坑。
【考点】浮点运算类型|C++ 类型推导规则
GESP 一级 C++ 模块「数据类型与表达式」里,命题人专门卡住「浮点运算结果类型」这个盲区。题目说「(6.0 / 3.0) 的计算结果为 2,且结果类型为 int 类型」,前半句数值碰巧对了,后半句类型直接判错。很多考生看到两个小数相除,下意识认为「结果肯定是 2」,完全忽略了 C++ 的类型推导规则——结果类型不是由结果值决定的,而是由操作数类型决定的。