美文网首页
c语言运算符分类及运算顺序和级别总结

c语言运算符分类及运算顺序和级别总结

作者: keeeeeenon | 来源:发表于2019-03-18 17:15 被阅读0次

1.关系运算符和关系表达式
< <= > >= (6级) == !=(7级)
从左到右运算,结果为0,1
运算符三要素:功能,优先级,运算方向(结合性)
7=7(不合法,是赋值运算不是关系运算)
5>4>3(合法5>4--->1 1>3--->0,所以该运算结果为0)
1<2<3(合法1<2---->1 1<3--->1,所以该运算结果为1)
2.逻辑运算符和逻辑表达式:结果是1,0
&&(11级) ||(12级) !(2级)(与或非)

C语言中运算符分为四类:算数运算符、关系运算符、逻辑运算符、位运算符

算数运算符(9):+ - * / % ++ --
关系运算符(6):== != > >= < <=
逻辑运算符(6):&& || ! ^ & |
位运算符(7):& | ~ ^ >> << >>>;
1级是特殊运算符:括号()
2级是单目运算符:++,-- 从右向左运算,只需要一个运算对象;
3、4级算数运算符:+ - * /
6、7级关系运算符:== != > >= < <=
11、12级逻辑运算符:&& || ! ^ & |
3~12级是双目运算符:从左向右,需要两个运算对象
13级是三目运算符:需要三个运算对象
14级是赋值运算符:=

记忆:在双目中,算术高于关系,关系高于逻辑

对于c语言中逻辑表达式的值中:零为假,非零为真

在c语言中有0短路和1短路,如:4<3&&9----->0&&9--->0;1<2<3||5<6<7--->1||5<6<7--->1

对于逻辑表达式运算方法:(1)考虑是否合法(2)考虑是否存在短路,错在短路则不计算逻辑运算符后的表达式(3)考虑优先级,同级考虑结合性

例如:

int m=2,n=2;
m==3&&n++;--->0&&n++
结果为0,n的值不改变因为出现0短路
m==2&&n++;--->1&&n++---->1&&2--->1
结果为1,n的值改变n++后n变为3

相关文章

网友评论

      本文标题:c语言运算符分类及运算顺序和级别总结

      本文链接:https://www.haomeiwen.com/subject/bcebmqtx.html