资源描述:
《c语言程序设计第四章ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章选择结构4.1关系运算和逻辑运算选择结构是程序基本控制结构之一。C语言中的选择结构包括三种条件语句:if语句switch语句条件表达式语句4.1.1C语言中的逻辑值判断逻辑值:非0值为真,0值为假。表达逻辑值:“1”为真,“0”为假。4.1.2关系运算符和关系表达式1.六个关系运算符运算符意义优先级结合性<小于10自左至右<=小于等于10自左至右>大于10自左至右>=大于等于10自左至右==等于9自左至右!=不等于9自左至右算术运算 关系运算 赋值运算2.关系表达式关系表达式的值只有两个:为真时值为1,为假值
2、为0。例:表达式值2<00(‘a’-‘b’)>003<2<51x=5–2>=401.0/3*3==1.004.1.3逻辑运算符和逻辑表达式ab!a!ba&&ba¦¦b真真假假真真真假假真假真假真真假假真假假真真假假三种:&&(与),¦¦(或)!(非)其意义见真值表4.1.3.1C语言中的逻辑运算符a&&b当a,b均为1时,才为1a¦¦b当a,b中有一个为1时,才为1!a当a为1,!a为0,反之为1.由此看到:¦¦和&&为双目运算符.!为单目运算符。逻辑运算符运算规则:&&仅当两个操作对象均非0结果为1,否则结果为0。
3、
4、仅
5、当两个操作对象均为0时结果为0,否则结果为1。!若操作对象值非0,结果为0;对象值为0,结果为1。优先级定义:2.&&和¦¦低于关系运算符。!高于算术运算符1.!(非)优先于&&(与).&&优先于¦¦即:!&&¦¦例:!a&&b¦¦x>y&&c((!a)&&b)¦¦((x>y)&&c)1.逻辑表达式的值与关系表达式值一样,真为1,假为0。例:a=4则!a值为0.此处只要a0,为真.则!a值为0.a=4,b=5a&&b为1前面已定义了逻辑表达式,以下看一看逻辑表达式的值及具体的运算。4&&0¦¦2为1.总之,在
6、逻辑运算中,非0值参加逻辑运算时被看成1处理.a=4,b=5a¦¦b为1a=4,b=5!a¦¦b为1系统优化:exp1
7、
8、exp2中,若exp1为1,不再计算exp2,直接得1。exp1&&exp2中,若exp1为0,不再计算exp2,直接得0。2.一个逻辑表达式中的逻辑运算符并不是一定全部执行.如:a&&b&&c.则当a=0(假)时,b,c不需判断。当a=1,b=0,则不需判c.又如:a¦¦b¦¦c.当a=1时,b,c均不必判别。逻辑表达式举例逻辑表达式表达式值求值后a,b,c值'A'<='a'&&'a'<='Z'0
9、!!51当a=b=c=2时:a
10、
11、(b=0)
12、
13、(c=1)1a为2,b为2,c为2当a=b=c=2时:(a=0)
14、
15、(b=0)
16、
17、(c=0)0a为0,b为0,c为0当a=b=c=2时:(a=0)&&(b=0)&&(c=1)0a为0,b为2,c为2当a=b=c=2时:(a=3)&&(b=2)&&(c=0)0a为3,b为2,c为011.2.1if语句if语句的两种形式:形式一:if(表达式e)语句S1功能:当表达式值非0时,执行语句A,否则不执行语句A.表达式语句A=00例如:if(x>y)printf("%d",x)形式1
18、if(表达式)语句A其流程图:形式2if(表达式e)语句Aelse语句B功能:表达式为非0,执行语句A;表达式为0,执行语句B表达式语句A语句B0=0例:if(x>y)printf("%d",x);elseprintf("%d",y);注.1.表达式e:可以是关系表达式,逻辑表达式,或任何类型表达式。其作用是控制整个语句的执行路线。语句S1和语句S2可以是任何类型的单个语句(包括空语句和复合语句)。单个语句必须加“;”复合语句{}外面不用加“;”。例如,以下语句是允许的:if(x>=0){y=x;s=x+y;}else{
19、y=-x;s=0;}复合语句复合语句3.整个if语句,在语法上是一个语句。一个语句例4.1分别用双目if语句和单目if语句求两个变量的最小值。解1:用双目if语句,程序如下:#includevoidmain(){intx,y,min;printf("Inputxy:");scanf("%d%d",&x,&y);if(x20、语句,程序如下:#includevoidmain(){intx,y,min;printf("Inputxy:");scanf("%d%d",&x,&y);min=x;if(min>y)min=y;printf("min(%d,%d)=%d",x,y,min);}解3:进行变量交