如果 a 为 int 类型的变量,且 a 的值为 9,则执行 a -= 3; 之后,a 的值会是()。
答案B。运算符是C++的重要组成部分。要区分不同运算符的使用格式和优先级。
\=不是合法运算符。注意区分 =(赋值)、==(相等比较)、!=(不等比较)。
【考点】C++ 复合赋值运算符|基础语法语义
🎯 考纲定位 复合赋值运算符是基础语法考点,命题人用它卡住对运算符语义理解不牢的考生。二级卷里这类题占比不小,专测你是否真懂运算符而非死记符号。
🧠 解题思维 看到 a -= 3 立刻联想到等价于 a = a - 3,代入 a=9 即得 9-3=6。这类题通法是识别复合赋值运算符的等价展开形式,再按普通算术运算处理。
🪤 陷阱拆解 A 项是误以为 -= 只赋值不运算,C 项是误以为 -= 不改变原值,D 项是误把 -= 当成 +=。这类题陷阱在于对运算符语义的过度简化——只记符号不看含义,一遇到复合赋值就慌神。
🔄 反命题思维 若改成 a = a - 3 或 a += 3,答案仍各为 6 和 12;若问 a -= a 则结果为 0。刷到复合赋值题先问:考点是运算符展开还是变量作用域?