★关系运算符和表达式 ◆关系远算符 ●种类 优先级6(高) ●结合方向:自左向右 ●优先级别 优先级7(低) 例c>a+b//c>(a+b) a>b!=c/(a>b)!=c 关系表滷式敏值:臭辑竄真”或“假”,用1和0表 9=h> //a=(h>) 例inta=3.b=2.c=1df (a>b)=c b+c<a d=a>b fa>b>c
关系运算符和表达式 ❖关系运算符 ⚫种类:< <= == >= > != ⚫结合方向:自左向右 ⚫优先级别: < <= > >= == != 优先级6(高) 优先级7(低) 例 c>a+b //c>(a+b) a>b!=c //(a>b)!=c a==b<c //a==(b<c) a=b>c //a=(b>c) ⚫关系表达式的值:是逻辑值“真”或“假”,用1和0表 示 例 int a=3,b=2,c=1,d,f; a>b (a>b)==c b+c<a d=a>b f=a>b>c < > //表达式值1 //表达式值1 //表达式值0 //d=1 //f=0 语 言 程 序 设 计 第 五 章 选 择 结 构 设 计 C
●关系运算注意 例若a=0:b=0.5;x=0.3 则a<=x<=b的值为0 在C中是允许的 值为0 例inti=1,j-7,a; a=i+(%4!=0) 则a=2 例a3>0结果为 A2>100结果为0
⚫关系运算注意: < > 例 若a=0; b=0.5; x=0.3; 则 a<=x<=b的值为 0 例 5>2>7>8在C中是允许的, 值为 0 例 int i=1, j=7,a; a=i+(j%4!=0); 则a= 2 例 ‘a’>0 结果为 ‘A’>100 结果为 1 0 语 言 程 序 设 计 第 五 章 选 择 结 构 设 计 C
●关系运算注意: 例应避免对实数作相等或不等的判断 如1.0/3.0*3.0==1.0结果为0 可改写为:fabs(1.0/30*30-1.0)<1e-6 例注意区分“”与“” int a=0.b=1 if(a b) printf(a equal to b' else printf( a not equal to b”)
⚫关系运算注意: 例 注意区分“=”与“==” 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 语 言 程 序 设 计 第 五 章 选 择 结 构 设 计 C
★逻辑运算符和表达式 逻辑运算符 种类:!&&‖ ●逻辑运算真值表 b a&&b allb 真 真 假 假 真假 假真 假 真真假 假 假 真 真 ●C语言中, 0表示“假 非0表示“真 运算结果:0表示“假” 1表示“真
a b !a !b a&&b a||b 真 假 真 假 假 假 真 真 逻辑运算符和表达式 ❖逻辑运算符 ⚫种类: ! && || ⚫逻辑运算真值表 ⚫C语言中,运算量: 0表示“假” , 非0表示“真” , 运算结果: 0表示“假” , 1表示“真” , < > 真 假 假 假 假 假 真 真 假 假 真 真 真 假 真 真 语 言 程 序 设 计 第 五 章 选 择 结 构 设 计 C
●优先级 从右向左 ●结合方向: &&(11) & ‖(12)低 例a<=X&&x<=b a>b&&x>y a==blx=y
! (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) 语 言 程 序 设 计 第 五 章 选 择 结 构 设 计 C