GESP 二级 · GESP 二级样题(C++ 组) 第 24 题

判断题 · 答案 A

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

题目

如果 a 为 int 类型的变量,且表达式 (a % 2 == 0) 的计算结果为假,说明 a 的值是奇数。( )

答案:A

解题思维

这题考的是取模运算与奇偶判断的对应关系。拿到题先想:a%2的结果只有-1、0、1三种,0对应偶数,±1对应奇数。既然表达式为假,说明a%2!=0,那a只能是奇数。

常见错误

很多学生会背‘取模得0是偶数’,却忘了C++里负数取模的结果是负数。比如a=-3时,-3%2等于-1,不等于0,表达式为假,但-3依然是奇数。如果只盯着正数想,遇到负数就会误判,以为‘取模不为0就是偶数’或者‘负数取模结果搞不清楚’。另外,有些同学会混淆‘!=0’和‘==0’的否定逻辑,把题意理解反了。

详细解析(节选)

【考点】取模运算|奇偶判断

1. 考纲定位 C++基础语法(GESP二级 C++ 组):运算符优先级与取模运算语义。命题人专门卡住‘负数取模’这个容易被忽略的细节。

2. 解题思维 看到取模表达式 → 立即关联数学定义:a % 2 的值域是 {-1, 0, 1} → 题目条件 (a % 2 == 0) 为假 → a % 2 只能取 ±1 → 根据定义,任何能被 2 整除的整数都是偶数,不能被 2 整除的都是奇数 → 结论:a 必为奇数。

3. 陷阱拆解 命题人最阴险的陷阱是‘负数取模’:a = -3 时,-3 % 2 在 C++ 中等于 -1,而 -1 != 0,所以表达式 (a % 2 == 0) 为假,但 a 仍是奇数。如果你只背‘正数奇偶判断’的结论,遇到负数就会掉进‘命题人设的坑’。

4. 反命题思维 如果把题面改成 (a % 2 != 0) 为假,答案就反了;换成 unsigned int 类型,负数坑就消失了。这类题本质是考‘你是否真正理解运算符定义,而不是死记结论’——刷到含 % 的判断题,先问自己:边界值(负数、零、溢出)会怎样?

5. 考频与趋势 在‘运算符与表达式’这个大类下,题库共考过 261 题,覆盖 9 个考试级别(2007-2026)。从逐年分布看,2023 年考了 91 题,2024 年考了 41 题,2025 年考了 61 题,2026 年考了 14 题,整体呈波动但高频状态;其中 GESP 二级考了 70 题,占比很高,说明该级别对运算符细节的考查非常稳定。分赛事来看,GESP 二级、GESP 三级、GESP 四级是重灾区,CSP 入门级也有少量涉及。

6. 预测 基于上述数据,未来 GESP 二级、三级仍大概率会连续出现‘负数取模’或‘取模结果符号’这类细节判断题,命题人可能会把负数范围扩大一点(比如给 -10 到 -1),或者结合其他运算符(如++、--)制造更隐蔽的陷阱。暂无足够依据预测具体年份的考题形式,但‘取模’作为基础语法的核心考点,其考查频率短期内不会下降。

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