C/C++中的运算符优先级总结

陪她去流浪 桃子 2011年12月29日 编辑 阅读次数:3951

下面的内容是我开始学C/C++时所列出的, 以前不知道CppRefs这个网站, so... 请随时参考以下两个页面:

http://en.cppreference.com/w/c/language/operator_precedence

http://en.cppreference.com/w/cpp/language/operator_precedence

C语言中的运算符

说明运算符结合性
初等运算符() [] -> .->
单目运算符! ~ ++ -- - (类型) * & sizeof<-
算术运算符* / %->
算术运算符+ -->
移位运算符<< >>->
关系运算符> >= < <=->
关系运算符== !=->
按位与&->
按位异或^->
按位或|->
逻辑与&&->
逻辑或||->
条件运算符?:<-
赋值运算符= += -= *= /= %= <<= >>= &= ^= |=<-
逗号运算符,->

C++语言中的运算符

运算符描述结合性
::二元作用域 一元作用域->

() [] . -> ++ --
typeid
dynamic_cast<type>
static_cast<type>
reinterpret_cast<type> const_cast<type>

初等/类型转换
++--为一元后自增
->
++ -- + - ! ~ (类型) sizeof & *
new new[] delete delete[]
++--为一元前自增<-
.* ->*取指向成员的指针->
* / %算术运算符->
+ -算术运算符->
<< >>移位运算符->
< <= > >=关系运算符->
== !=关系运算符->
&按位与->
^按位异或->
|按位或->
&&逻辑与->
||逻辑或->
?:条件运算符<-
= += -= *= /= %= &= ^= |= <<= >>=赋值运算符<-
,逗号运算符->

注:从上到下优先级递减!

总结:初单算移关,位逻条赋逗!(请一定记住这句话,虽然不是很顺口)

标签:C语言 · C++ · 总结