一.逻辑运算
逻辑运算是对逻辑量进行的运算,结果只有0或1
逻辑量是关系运算或逻辑运算的结果
运算符 | 描述 | 示例 | 结果 |
! | 逻辑非 | !a | 如果a是true结果就是false, 如果a是false结果就是true |
&& | 逻辑与 | a&&b | 如果a和b都是true,结果就是ture; 否则就是false |
|| | 逻辑或 | a||b | 如果a和b有一个是true,结果为true; 两个都是false,结果为false |
优先级:!>&&>||
二.所有运算符的优先级
优先级 | 运算符 | 结合性 |
1 | () | 从左到右 |
2 | ! + - ++ -- | 从右到左(单目的+和-) |
3 | * / % | 从左到右 |
4 | + - | 从左到右 |
5 | < <= > >= | 从左到右 |
6 | == != | 从左到右 |
7 | && | 从左到右 |
8 | || | 从左到右 |
9 | = += -= *= /= %= | 从右到左 |
三.短路
逻辑运算是自左向右的,如果左边的结果已经能够决定结果了,就不会做右边的计算
a==6&&b==1
a==6&&b+=1
对于&&,左边是false时就不做右边了
对于||,左边是true时就不做右边了
三.世界协时与北京时间的换算
#include<stdio.h>
int main(void)
{int a=0; int BJT=0;
scanf("%d",&a);
BJT=a;
int UTC=0;
if(BJT>800)
{ UTC=BJT-800;
printf("%d",UTC);
}else{ UTC=(BJT+2400)-800;
printf("%d",UTC);
}
return 0;
}