问题
单项选择题
C语言中下列运算符的优先级按由低到高的次序,正确的是()
A.①! ②+ ③< ④& ⑤&&
B.①&& ②+ ③< ④& ⑤!
C.①! ②&& ③& ④< ⑤+
D.①&& ②& ③< ④+ ⑤!
答案
参考答案:D
解析:
在C语言中,对各种运算符的优先级是有规定的,必须掌握。优先级最高者其实并不是真正意义上的运算符,包括:数组下标、函数调用操作符各结构成员选择操作符。它们都是自左向右结合。 单目运算符的优先级仅次于上述运算符,在所有的真正意义的运算符中,它们的优先级最高。 双目运算符的优先级低于单目运算符的优先级。在双目运算符中,算术运算符的优先级最高,移位运算符次之,关系运算符再次之,接着就是逻辑运算符,赋值运算符,最后是条件运算符。 在C语言中,任何一个逻辑运算符的优先级低于任何一个关系运算符,移位运算符的优先级比算术运算符要低,但是比关系运算符要高。 下表是C语言运算符优先级表(由上至下,优先级依次递减)。