关系运算注意: 例应避免对实数作相等或不等的判断 如1.0/3.0*3.0=1.0结果为0 可改写为:fabs(1.0/30*30-1.0)<1e6 例注意区分“=”与“==” int a=0.b=1 f(a b) printf(" a equal to b) else printf( a not equal to b") REturn
6 关系运算注意: 例 注意区分“=”与“= =” int a=0,b=1; if(a=b) printf(“a equal to b”); else printf(“a not equal to b”); 例 应避免对实数作相等或不等的判断 如 1.0/3.0*3.0==1.0 结果为 可改写为:fabs(1.0/3.0*3.0-1.0)<1e-6 0 [Return]
4.2逻辑远算符和表达式 除了关系运算之外,我们还会遇到这样的冋题 若干个开关并联,在何种条件下,电路接通:若干个 开关串联,在何种条件下,电路接通。还有,我们在 数学中会遇到判断0<X<1这样的问题仅用关系运算 符是不能解决这些问题的。这类冋题的解决需要使用 逻辑运算待
7 除了关系运算之外,我们还会遇到这样的问题: 若干个开关并联,在何种条件下,电路接通;若干个 开关串联,在何种条件下,电路接通。还有,我们在 数学中会遇到判断0≤x ≤1这样的问题,仅用关系运算 符是不能解决这些问题的。这类问题的解决需要使用 逻辑运算符。 4.2逻辑运算符和表达式
4.2逻辑远算符和表达式 逻辑远算符 ●种类:!&& ●逻辑运算真值表 a a一假 b a&&ball 真一真 真 假 真一假 真 假 假|真 真一假 假 真 假 真 真 假 假 C语言中,运算量:0表示“假” 非0表示“真” 运算结果:0表示“假” 1表示“真” 8
8 a b !a !b a&&b a||b 真 假 真 假 假 假 真 真 ❖逻辑运算符 ⚫种类: ! && || ⚫逻辑运算真值表 C语言中,运算量: 0表示“假” , 非0表示“真” , 运算结果: 0表示“假” , 1表示“真” , 真 假 假 假 假 假 真 真 假 假 真 真 真 假 真 真 4.2逻辑运算符和表达式
●优先级 局 从右向左 ●结合方向: &&(11 &&:从左向右 2低 :从左向右 例a=x&&x<=b∥/(a=x)&&(x<=b) a>b&&xy /a>b)&&(xy) a= y a=b)(xy) /(a)(a>b) 9
9 ! (2) && (11) || (12) 高 低 例 a<=x && x<=b a>b&&x>y a==b||x==y !a||a>b ⚫优先级: ⚫结合方向: ! :从右向左 && :从左向右 || :从左向右 // (a<=x) && (x<=b) //(a>b)&&(x>y) //(a==b)||(x==y) //(!a)||(a>b)
●优先级: 局 从右向左 ●结合方向 &&(11) &&:从左向右 ‖(12) ‖:从左向右 例a=4b=5; a 值为0 a&&b值为1 值为1 alb 值为1 4&&02值为1 >3&&2|8<410/(5>3)8828<(4(0))值为1 c&&d值为1 10
10 ! (2) && (11) || (12) 高 低 ⚫优先级: ⚫结合方向: ! :从右向左 && :从左向右 || :从左向右 例 a=4;b=5; !a a&&b a||b !a||b 4&&0||2 5>3&&2||8<4-!0 ‘c’&&‘d’ 值为1 值为0 值为1 值为1 值为1 值为1 //(5>3)&&2||(8<(4-(!0))) 值为1