表达式 (10.0 / 2) 的计算结果为 5.0,且结果类型为 double。
看到10.0先定调是double,分母2是int,C++规则里只要一边是浮点,除法就自动升级成浮点除法,结果自然就是5.0且类型为double。
最容易栽跟头的是把10.0当成整数10来算,或者只盯着结果5.0却忘了类型。有些同学会下意识认为‘除2’就是整数除法,忽略了字面量.0的强制提升作用。还有少数人会把关系表达式的bool返回值混进来想当然,其实这里纯粹是运算类型规则。
GESP二级《数据类型与运算》模块,专卡“整数与浮点数混合运算”的盲区。命题人就是想看学生会不会因为见过“10/2=5”的整数除法,就对“10.0/2”产生条件反射式错误。
表达式里只要有一个操作数是浮点型(float或double),C++就会把整个运算“升级”成浮点运算,结果也是浮点型。这就像两个人打架,只要有一个是壮汉,裁判就按壮汉的规矩来判。
题干特意写了“结果为5.0,且类型为double”。很多学生只背公式,看到“10.0”就以为“哦,这是个浮点数”,然后直接跳到答案,却忘了验证运算规则。更阴险的是,如果学生把“10.0/2”当成“10/2”的变体,会下意识认为结果是整数5,类型是int,从而误选B。
1. 先看操作数:10.0是double字面量,2是int字面量。 2. 查规则:任意一边是浮点→运算升级为浮点除法。 3. 算结果:10.0 / 2 = 5.0。 4. 看类型:浮点除法结果永远是double(除非显式转换)。 5. 对照题干:结果5.0,类型double——完全匹配。
基础语法在题库里是绝对主力,共1295题,覆盖所有级别。其中GESP二级占了283题,占比约22%,是二级里最稳的考点之一。2023年考了287题,2024年413题,2025年401题,2026年109题,近年高频度明显,说明命题人持续押注基础运算规则。
从数据看,GESP二级的基础语法题在2024-2025年达到峰值,2026年回落但仍保持109题的高位。未来很可能继续以“混合运算类型判断”为题型出现,比如“10.0/2.0”“10/2.0”“10.0/2.0”等变体,或者加入bool、char等类型混算。只要记住“浮点优先”这条铁律,这类题基本不会错。