您的位置:首页 > 其它

运算的优先级与结合性

2014-09-13 01:31 239 查看

           运算的优先级与结合性

                          

运算符类型
优先级
运算符
运算对象的个数
结合性
基本
1
() [ ] −>
自左至右
单目
2
!~ ++ −− + − (type) * & sizeof
1 (单目运算符)
自右至左
算术
3
* / %
2 (双目运算符)
自左至右
4
+ −
移位
5
>> <<
2 (双目运算符)
自左至右
关系
6
< <= > >=
2 (双目运算符)
自左至右
7
== !=
位逻辑
8
&
2 (双目运算符)
自左至右
9
^
10
|
逻辑
11
&&
2 (双目运算符)
自左至右
12
||
条件
13
?:
3 (三目运算符)
自右至左
赋值
14
= +=−=
*= /= %= !=>>= <<=
2 (双目运算符)
自右至左
逗号
15

n
自左至右
取模运算符

%——取模运算符,或称求余运算符。

取模运算符实质上是数学运算中的求余运算符,其两个操作对象都必须是整数。结果的符号与%左边的操作数的符号相同,如20%6=2,20%(-6)=2,-20%6=-2,-20%-6=-2。

自增、自减运算符

++i和i++的作用都相当于i=i+1,表示将i的内容在原来的基础上加1。

--i和i--的作用都相当于i=i-1,表示将i的内容在原来的基础上加1。

但是,将它们用在表达式中,前缀和后缀是有区别的。

i=51;

j=++i; (i的值先加1变成52,再赋给j,j的值为52)

j=i++; (先将i的值赋给j,j的值为51,然后i再加1变为52)

逻辑与&&和逻辑或||的短路求值

逻辑与&&:当两个运算分量同时为真时,结果才为真。

a&&b (如果a为假时,整个条件就为假,程序不会运行b)

逻辑或||:只要其中一个运算分量为真,结果就为真。

a||b(如果a为真,整个条件就为真,程序也不会运行b)

位逻辑运算符

&——按位与

|——按位或

^——按位异或

~——按位取反

强制转换运算符

(type)表达式

例:int i,j;

double a;

i=j+(int)a;

长度运算符sizeof

Sizeof(type)

例:sizeof(double);

取值运算符&

例:printf(“%d”,&r);




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: