C/C++中运算符优先级汇总
编程语言C运算符优先级
优先级1: ( )、[ ]、->、 .
含义:圆括号、下标运算符、指向结构体成员运算符、结构体成员运算符
优先级2:!、~、++、――、-、(类型)、*、&、sizeof (单目运算符,结合方向自右至左)
含义:逻辑非、按位取反、自增、自减、负号、类型转换、指针、地址与、长度运算符
优先级3:*、/、%
含义:乘法、除法、求余运算符
优先级4:+、—
含义:加法、减法运算符
优先级5:<<、>>
含义:左移、右移运算符
优先级6:<、<=、>、>=
含义:关系运算符
优先级7:==、!=
含义:等于、不等于运算符
优先级8:&
含义:按位与运算符
优先级9:^
含义:按位异或运算符
优先级10:|
含义:按位或运算符
优先级11:&&
含义:逻辑与运算符
优先级12:||
含义:逻辑或运算符
优先级13:?: (三目运算符,结合方向自右至左)
含义:条件运算符
优先级14:=、+=、-+、*=、/=、%=、>>=、<<=、&=、^=、|= (结合方向自右至左)
含义:赋值运算符
优先级15: ,
含义:逗号运算符
说明:
结合方向大部分运算符都是常规的自左至右,单目运算符、三目运算符和赋值运算符除外,这三种运算符结合方向是自右至左。
优先级简记:非算移关与或条赋
解析:非指逻辑非运算符;算指算术运算符;移指移位运算符;关指关系运算符;或指按位与、按位异或及或运算符,逻辑与、逻辑或运算符;条指条件运算符;赋指赋值运算符;逗号运算符优先级最低,其余的运算符优先级都很高。
后记:因为运算符的优先级有时忘记了一些,而恰好手边没有合适的书籍参考,故记录下来,为自己也为他人提供参考。不过建议编程时最好避免考虑优先级的问题,多加几个括号就可以了。
posted on 2014-03-19 18:33 Stomach_ache 阅读(1409) 评论(0) 编辑 收藏 举报