1、Teacher teaching designCONTENTS 目 录关系运算符与关系表达式逻辑运算符与逻辑表达式明确考点 交流提升仿真演练 体验探索关系运算符与关系表达式PART 01关系运算符与关系表达式关系运算符与关系表达式1、关系运算符种类:小于 大于 =大于或等 =等于 !=不等于关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。注意:在语言中,“等于”关系运算符是两个等号“=”,而不是一个等号“=”(赋值运算符)。2、优先级(运算次序):系统规定:,=的优先级相同,高于=和!=,=和!=的优先级相同。3、关系表达式 用关系运算符将两个表
2、达式连接起来,进行关系运算的式子就是关系表达式。例如,xy,x+1=z,(ab)!=(bc)。4、关系表达式的值是真”和“假”,用“1”和“0”表示。我们用整数“1”表示“逻辑真”,或 用非0”的整数和实数以及“非0“的字符型数据代表“真”;用整数“0”或“0”表示“逻辑假”(注意,语言是没有逻辑型数据的)。【例1】设x1=1,x2=2,x3=3 则:(1)x1x2的值为 。(2)(x1x2)!=x3的值为 。(3)x1x2x3的值为 。【例2】设x1=1,x2=2,x3=3,表达式(x1=1)&(x2),!(x=1)&(x2)的值为“假”;!(x=1”同时又有“x=1)&(x2)说明:1)数
3、学式子:“1=xb);printf(%d,%dn,a=5&(b=2),(x=2)&a=b);程序运行结果:0,1 1,0 0,1明确考点 交流提升PART 03明确考点 交流提升在C语言中,由&或|组成的逻辑表达式,在某些特定的情况下会产生“短路”现象,如:、x&y&z,只有当x为真(非0)时,才需要判别y的值;只有当x,y都为真时才要去判断z的值;同时只要x为假时就不必判断y的z,整个表达式的值为0;(或者说对于逻辑与运算,如果第一个操作数被判定为“假”,系统将不再判定或求解第二操作数)。例如:int a=1,b=0,a+&b+;逻辑运算式结果为1,a=2,b=1、x|y|z,只要x的值为真
4、时,就不必判断y、z的值,整个表达式的值为1,只有x的值为假时才需要判断y的值,只有x,y值同时为假时才需要判别z的值。(或者说对于逻辑或运算,如果第一个操作数被判定为“真”,系统将不再判定或求解第二操作数)。明确考点 交流提升1、有以下程序main()int a=1,b=1,k=2;b+|k+&a+;printf(a=%d,b=%d,k=%dn,a,b,k);结果为:a=,b=,k=2、以下程序的输出结果是()main()int x=35;char z=A;printf(%dn,(x&15)&(zc&b=a(2)a&b-c|c-a(3)!a|b+c&a+b(4)a+b&(!b)|c(5)!(a+b)+c-1&b-c/2(6)!a+c-5|a-b/2&c=10 or a=0!a=10&a=10|a=0(4)有以下程序的输出结果是:main()int a,b,d=25;a=d/10%9;b=a&(-1);printf(a=%d,b=%dn,a,b);(5)设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是()A)(!a=1)&(!b=0)B)(aB)&!c|1C)a&b D)a|(b+b)&(c-a)