GESP 二级 · GESP 202309 C++ 二级 第 5 题

选择题 · 答案 D

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

题目

C++ 表达式 int(-123.123 / 10) 的值是( )。

答案:D

解题思维

别被小数位晃眼,这题核心就两步:先按浮点除法算出-12.3123,再用int()向零截断,负数向零就是去掉小数部分,直接得-12。

常见错误

最容易栽跟头在C选项-13上,那是把向零截断当成向下取整(floor)了,负数floor会多减1;还有A选项-124,是误以为123.123除以10等于12.3123后再取整变成124(符号搞反或算错),其实除数10不会让结果变那么大;B选项-123则是完全忽略了除数10,把-123.123直接截断。记住int()对负数是向零,不是向下。

详细解析(节选)

考点与命题视角

GESP二级常考“浮点运算+类型转换”的组合陷阱。命题人故意写123.123,让你一眼觉得“这数看着像整数除法”,其实它是个浮点字面量;再套个int(),考的就是你懂不懂C++一元转换的规则——向零截断,而不是向下取整或四舍五入。这类题在基础语法里占比不小,2023年基础语法考了287题,2024年413题,2025年401题,说明命题人年年都在盯着你这块基本功。

人话讲概念

一步步怎么算

1. 先算括号里的除法:-123.123 / 10。 123.123 ÷ 10 = 12.3123,前面有个负号,所以是 -12.3123。 2. 对这个结果做 int() 转换。 向零截断:去掉小数部分 0.3123,剩下整数部分 -12。 3. 赋值给 int 变量,结果就是 -12。

避坑指南

考频与趋势

从题库数据看,C++相关题目在2023年考了61题,2024年103题,2025年72题,2026年13题,虽然2026年骤降,但整体趋势是2023-2025年持续高位,说明“浮点+类型转换”这类基础题仍是命题人重点。基础语法里,GESP二级考了283题,占比很高,印证了二级对这类知识点的重视。

预测

基于近年考频,未来二级和一级仍大概率会出类似的“浮点运算+int/float转换”题,可能换数字或加一层括号,但核心规则不变。暂无足够依据预测是否会引入floor/ceil等函数混淆项,但向零截断这个考点应该还会反复考。

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