运算的优先级与结合性
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);
相关文章推荐
- 运算优先级、结合性、求值顺序、副作用和顺序点
- (转)运算优先级、结合性、求值顺序、副作用和顺序点
- C语言之优先级、结合性与自增运算
- C语言运算优先级与结合性
- 运算符优先级
- c++各类运算优先级
- 运算符优先级 记忆
- 运算 优先级
- python学习之运算表达式优先级
- C:容易误解的运算符优先级解读
- C隐式类型转换与运算符优先级
- C语言中的运算符优先级
- PHP学习 运算符与运算符优先级
- C++运算符的优先级与结合性
- PHP三维优先级运算
- C++的运算符优先级列表
- 运算符优先级
- uva 10700 算式的加减乘除的运算优先级,算式的运算顺序处理。
- 41 C语言运算符的优先级和结合性
- JavaScript的运算符优先级