逻辑运算,条件运算,逗号运算

2022-08-01 15:59:37 浏览数 (1)

逻辑运算

逻辑运算是对逻辑量进行的运算,结果只有0(false)或1(ture)

逻辑量是关系运算或逻辑运算的结果

例句:age>20&&age<30;

age的值在20到30之间(不包括数字20和30)

例句:index<0||index>99;

index的值不在0到99之间(不包括数字0和99)

例句:!age<20;

!是单目运算符,他的运算优先级要比<来得高,所以要先算!age,再去跟20比较。如果age是1,那么!age的值为0,如果age是0,那么!age的值为1。1和0都小于20,所以这个表达式的结果为0;

逻辑运算符的优先级:!>&&>|| !是单目运算符,优先级很高!

例句:!done &&(count>max);

先算!done,再算count>max,最后算&&;

目前学到的所有运算符优先顺序!

逻辑运算使用示例:

代码语言:javascript复制
if(done==0){
   if(fall==1){
      printf("lalala");
   }
}
改写成
if(done==0&&fall==1){
   printf("lalala");
} 

逻辑运算是自左向右进行的,如果左边的结果已经能够决定结果了,就不会左右边的计算;

例句:a>0&&a >1

如果a不大于0,那么a >1不会进行计算,此逻辑运算的结果为0

对于&&,左边是false时就不做右边

对于||,左边是ture时就不做右边

条件运算符

代码语言:javascript复制
if(count>20)
count=count-10;
else
count=count 10;
改写成
↓
count=(count>20)?count-10:count 10;

?前面是条件,?后面是条件满足时做的动作,:后面是条件不满足时做的动作 条件运算符基本形式:(条件)?条件满足时做的动作:条件不满足做的动作;

优先级:条件运算符的优先级高于赋值运算符,但是低于其他运算符

例句: a >1&&b-->2?a:b;

如果a 的值大于1且b--的值大于2时,结果是a,如果a 的值不大于1或者b--的值不大于2(任意一条)时,结果是b;

例句: x=3*a>5?5:20;

如果x=3*a的值大于5的话,结果是5,否则是20

逗号运算符

逗号用来连接两个表达式,并以其右边的表达式的值作为它的结果。逗号的优先等级是所有运算符中最低的,所以他两边的表达式会先计算;逗号的组合关系时自左向右的,所以左边的表达式会先计算,而右边的表达式的值就留下来作为逗号运算的结果。

例句:i=3 4,5 6;

结果i=7,因为=的优先级大于,

例句:i=(3 4,5 6);

结果i=11,因为3 4,5 6用括号括起来了,所以先算3 4,5 6,而逗号运算符是把后面的值赋给前面。所以结果等于11

0 人点赞