操作符的分类:
1. 算数运算符
+, -, *,/,%, ++, --
2. 关系运算符
>,<,==,>=,<=,!=
3. 逻辑运算符
&&,||, !
4. 位操作运算符
&,|,~,^,<<,>>
5. 赋值运算符
=,+=,-=,*=,/=,%=
&=,|=,^=,>>=,<<=
6. 条件运算符
?:
7. 逗号运算符
,
8. 指针运算符
*,&
9. 求字节数运算符
sizeof
10. 特殊运算符
(), [], ->
运算符优先级:
运算符优先级速记口诀:单算移关与,异或逻条赋
“单”表示单目运算符:逻辑非(!),按位取反(~),自增(++),自减(--),取地址(&),取值(*);
例如: int a = 1;
++a + ++a + ++a;
printf("%d\n", a);
以上程序在vs2015中的结果为12,因为会先算三个++算完之后再算a+a+a,因为单目运算符优 先级高于运算符;
“算”表示算术运算符:乘、除和求余级别高于加减;
“移”表示按位左移和位右移;
“关”表示关系运算符:大小关系高于相等不相等关系;
“与”表示按位与;
“异”表示按位异或;
“或”表示按位或;
“逻”表示逻辑运算符;
“条”表示条件运算符;
“赋”表示赋值运算符;