GESP 七级 · GESP 202409 C++ 七级 第 2 题

选择题 · 答案 D · 考点:运算符优先级

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

题目

已知 a 为 int 类型变量,下列表达式不符合语法的是( )。

答案:D

考点

运算符优先级

解题思维

位运算:&(与)、|(或)、^(异或)、~(取反)、<<(左移)、>>(右移)。异或性质:a^a=0,a^0=a。

常见错误

区分逻辑运算(&&,||,!)和位运算(&,|,~,!)。左移右移注意符号位的处理(算术右移vs逻辑右移)。负数的位运算要小心。

详细解析(节选)

【考点】运算符优先级|后缀自增语法|C++表达式规范

解题思维:看到选项先扫一眼结构——C++表达式里运算符之间必须合法衔接。a++是后缀形式,后面要么接运算符要么结束,不能直接跟数字。正确写法是a++ + 3或(a++) + 3。其余三个都符合语法规则:&a是取地址表达式,+a是单目加,- -4是双负号(合法但多余)。

陷阱拆解:

命题人把后缀自增的拼写规则藏进选项,专卡那些只记优先级、不背语法的考生。

反命题思维:这类题的本质是考察表达式书写规范而非运算结果。遇到含++或--的选项,先问自己"后面有没有合法运算符?"——有就继续,没有就警惕。刷到类似题前先确认:后缀自增只能用于变量,且其后必须接运算符或结束符。

同考点真题

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