GESP 二级 · GESP 202312 C++ 二级 第 16 题

判断题 · 答案 A

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

题目

C++ 表达式 -7/2 的值为整数 $-3$。( )

答案:A

解题思维

这题考的是C++整数除法的向零截断规则。拿到题先看操作数类型,两个整数相除结果必为整数,再判断符号:负数除法向零取整,所以-7/2得-3。

常见错误

最容易掉进命题人挖的'向下取整'坑里。很多考生被数学课上的'除不尽进位'思维带偏,看到-3.5就下意识选-4。其实C++整数除法只砍小数,不管正负都向0靠,-3.5砍掉.5就是-3。记住:数学里的floor函数和C++整数除法不是一回事,除非你显式调floor()。

详细解析(节选)

【考点】整数除法|C++语言规则

1. 考纲定位 GESP二级'计算机语言基础'模块,卡住的是考生对C++整数运算规则的盲区。命题人放这道题就是要筛掉那些'只懂数学不懂编程'的伪选手——数学课老师讲-7÷2=-3.5,但C++编译器不这么干。

2. 解题思维 看到-7/2先锁定运算符类型:两个整数参与运算,触发C++整数除法规则。关键观察是'向零取整'而非'向下取整'——-7/2=-3.5,截断小数部分得-3。验证:-3×2=-6,余数-1,符合C++取模规则(余数符号与被除数一致)。

3. 陷阱拆解 B选项是典型的'向下取整'思维陷阱。很多考生被数学老师洗脑,以为应该进位到-4。命题人利用的是跨学科知识迁移错误:数学上的向下取整函数⌊x⌋在C++整数除法里不生效,除非用floor()函数。如果你只背'除法会截断'而不理解'向零'这个具体方向,绝对会掉进这个坑。

4. 反命题思维 如果把-7改成-7.0,表达式变成浮点除法,结果-3.5,答案就反了;如果改成-7%2,考察取模运算,根据C++规则结果仍是-1。刷到类似题先问:参与运算的是int还是double?运算符是/还是%?

5. 考频与趋势 整数运算在基础语法里是高频考点。题库共考过1295题,其中2023年287题、2024年413题、2025年401题,三年加起来超过1100题,占比极高。GESP二级单独考了283题,说明这是二级必考硬骨头。从数据看,命题人特别喜欢用'负数除法'这个点来区分懂不懂C++规则的学生。

6. 预测 基于2023-2025年每年超400题的考频,未来GESP二级和三级大概率会继续深挖整数运算细节,比如混合运算优先级、溢出判断等。暂无足够依据预测是否会转向浮点陷阱,但整数除法规则仍是重中之重。

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