一.赋值(关系)运算符
1.关系运算符
高优先级组
< | 左边值小于右边值,则返回1。否则返回0 |
<= | 左边值小于等于右边值,则返回1。否则返回0 |
> | 左边值大于右边值,则返回1。否则返回0 |
>= | 左边值大于等于右边值,则返回1。否则返回0 |
低优先级组
== | 左边值等于右边值,则返回1。否则返回0 |
!= | 左边值不等于右边值,则返回1。否则返回0 |
关系运算符的优先级比算术运算符地,但比赋值运算符高。而高优先级组的优先级比低优先级又要高。结合律也是从左往右
Ex != wye == zee 等于(ex != wye) == zee
运算符(优先级从高至低) | 结合律 |
() | 从左往右 |
- + (一元运算符)++ -- | 从右往左 |
* / % | 从左往右 |
+ -(二元运算符) | 从左往右 |
< > <= >= | 从左往右 |
== != | 从左往右 |
= += -= /= %= | 从右往左 |
2.赋值运算符
+= | 把左值加上右值后的值在赋给左值 |
-= | 把左值减去右值后的值在赋给左值 |
/= | 把左值除以右值后的值在赋给左值 |
%= | 把左值除以右值取余后的值在赋给左值 |
Scores += 20 等于 scores = scores + 20
Dimes-=2 等于 dimes = dimes - 2
Bunnies *=2 等于 bunnies = bunnies * 2
Time /=2 等于 time = time / 2
Reduce %=3 等于 reduce = reduce % 3
3.所有符号的优先级和结合律
运算符(优先级从高至低) | 结合律 |
() | 从左往右 |
- + (一元运算符)++ -- | 从右往左 |
* / % | 从左往右 |
+ -(二元运算符) | 从左往右 |
< > <= >= | 从左往右 |
== != | 从左往右 |
= += -= /= %= | 从右往左 |
二.逗号运算符
在for循环当中我们就讲解过逗号运算符
For(I = 0,j=0;i>3;i++,j++)
在这个for循环中,初始化工作会将i和j的初始化都赋值为0。而在更新上面会让i,j变量都自增。
这里的,都是一个序列点。有逗号左侧项的所有副作用都在程序的右侧项之前发生.
而逗号运算符一共有两个性质
1.逗号副作用
逗号左侧项的所有副作用都在程序的右侧项之前发生
在printf()打印之前,i++副作用发生。
2.整个逗号表达式的值是右侧项的值
A = (1,2)
这个时候a等于逗号表达式右侧项值2.
b = 1,2;如果写成这样,编译器会将a =1作为逗号左侧的子表达式。2作为右侧的子表达式。变为
b = 1;
2;
这里2;自己为一条语句,虽然它啥也不干。
好了朋友们我们今天的内容到这就结束了,今天的内容到这里就结束了,如果有啥不会的朋友记得论坛里面提问哈~
如果朋友你感觉文章的内容对你有帮助,可以点赞,关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈