如果 a 为 int 类型的变量,则表达式 (a / 4 == 2) 和表达式 (a >= 8 && a <= 11) 的结果总是相同的。
这题考整型除法的截断特性。拿到题别急着解方程,先想a / 4在C++里怎么算——整型除法直接扔尾数,所以商等于2时,a其实能取4到7之间的所有值,而不仅仅是8。
学生最容易掉进数学惯性思维,把a / 4 == 2当成普通代数方程解,只得出a=8这一个解,忽略了整型除法的截断规则。命题人专门挖这个坑,就是看你是不是真的懂C++运算规则,而不是只会算数。
这道题属于GESP一级基础语法与运算符模块,命题人专门卡住“以为除法是普通除法”的惯性思维——学生容易把 / 当成浮点除法去算,没意识到整型除法会直接舍去小数部分。题目限定a为int类型,就是为了排除实型运算的干扰,纯粹考语言特性。历年考频数据显示,2023年这类题目有287题,2024年413题,2025年401题,说明命题人非常青睐这种“反直觉”的考点,专测学生对C++整型运算规则的掌握,而非纯数学推理。