如果 n 为 3 位数的正整数,则 C++ 表达式 n % 100 将能得到最高位。如 n 为 123 ,则该表达式的值 为 1 。
看到题先想运算符定义。% 是取余,123%100=23≠1,直接证伪。再想怎么取百位:123/100=1。这类题通法是代入边界值验证,或用代数拆解表达式结构。
A 选项错在把%理解成"截取高位",实际是取低位。命题人利用"% 看起来像取整"的直觉误导。边界值 123 代入后 23 与 1 差距明显,但学生容易忽略数值对比,只关注表达式形式。
本题考查 GESP 一级"运算符优先级与整数运算"。命题人卡住的是初学者对%含义的模糊认知——把取余(%)与整除(/)混为一谈,导致在提取数位时选错运算符。
看到题先想运算符定义。% 返回余数,123%100=23,与题目声称的"得到最高位 1"矛盾,直接证伪。再想怎么取百位:123/100=1。这类题通法是代入边界值验证,或用代数拆解表达式结构:对 n=100a+10b+c,n%100=10b+c(后两位),n/100=a(百位)。