资源描述:
《C语言选择结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章选择结构程序设计作用:根据所指定的条件是否满足,决定从给定的两组操作选择其一。形式:if(关系表达式)语句1else语句2实例:if(x>0)y=1;elsey=-1;选择结构§5.1关系运算符和关系表达式关系运算:比较运算,用“关系表达式”进行运算。例如:a>3是一个关系表达式,它的结果取两个值:“真”或"假"。5.1.1关系运算符及其优先次序C语言有六种关系运算符:<小于<=小于或等于>大于>=大于或等于==等于!=不等于同级(高)同级(低)关系运算符的优先级低于算术运算符;关系运算符的优先级高于赋值运算符;算术运算符关系运算符赋值运算符5.1.2
2、关系表达式关系表达式:用关系运算符将两个表达式连接起来的式子。关系表达式的值:真(1,任意非0值也作为真)假(0)如:a=3,b=2,则:a>b的值为真,即1;aa+b2).a>b==c3).a!=bc例2、inta=3,b=2,c=1;d=ab>c结果为:0结果为:1结果为:1结果为:a=1结果为:d=0结果为:f=05.2逻辑运算符5.2.1逻辑运算符及其优先次序&&逻辑“与”双目运算符
3、
4、逻辑“或”双目运算符!逻辑“非”单目运算符!非高算术运
5、算符关系运算符&&
6、
7、赋值运算符低优先次序为:①高→低:!(非)→&&(与)→
8、
9、(或)②1、ay2、a==b
10、
11、x==y3、!a
12、
13、a>b4、!a&&b
14、
15、x>y&&c5、(!a)&&b
16、
17、(x>y)&&c5.2.2逻辑运算举例值为0值为1值为0值为0值为0例1:设a=3,b=4,c=5,x=0,y=0,求值:5.3if语句if语句:判别条件是否满足,来决定程序的流程。(执行两路操作之一)if语句的三种形式:1、if(表达式)语句if(x>y)printf("%d",x);表达式语句假真2、if(表达式)语句1else语句2if(x>y)pri
18、ntf("%d",x);elseprintf("%d",y);表达式语句1假真语句25.3if语句3、if(表达式1)语句1elseif(表达式2)语句2elseif(表达式m)语句melse语句n…5.3if语句假表达式1语句1真表达式2语句2假真表达式3语句3假真语句4表达式4语句5假真例如:if(a>500)b=5;elseif(a>300)b=4;elseif(a>100)b=3;elseif(a>50)b=1;elseb=0;…[例5.1]输入三个数,按由小到大顺序输出。main(){floata,b,c,t;scanf("%f,%f,%f",&a
19、,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%5.2f,%5.2f,%5.2f",a,b,c);}if语句举例371173137371运行:3,7,1↙1.00,3.00,7.005.3.2if语句的嵌套一般形式:if()if()语句1else语句2elseif()语句3else语句4使用嵌套if语句时,必须特别注意if与else的配对原则:①从最内层开始,else总是与它上面最接近的(未曾配对的)if配对。②避免if与else配对错位的最佳办法
20、是加大括号,同时,为了便于阅读,使用适当的缩进,(只有大括号能保证if和else不错位配对,缩进仅便于阅读)。内嵌if内嵌if[例5.3]有一函数如下:编程序,输入x值,输出y值。main(){intx,y;scanf("%d",&x);if(x<0)y=-1;elseif(x==0)y=0;elsey=1;printf("x=%d,y=%d",x,y);}5.3.2if语句的嵌套程序1?程序2:if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;程序3:y=-1;if(x!=0)if(x>0)y=1;elsey=0;5.3.2if语
21、句的嵌套??5.3.3条件运算符在if语句中,在“表达式”为“真”和“假”时,都只执行一个赋值语句给同一变量赋值时:如:if(a>b)max=a;elsemax=b;可以用如下条件运算符来处理:max=(a>b)?a:b此条件运算符称为“三目运算符”(C语言中唯一的一个三目运算符)。条件表达式的一般形式:表达式1?表达式2:表达式3其中,“(a>b)?a:b”是一个条件表达式,若条件(a>b)成立,则条件表达式取值a;否则,取值b。[例5.4]输入一个字符。判别它是否大写字母,如果是,将其转换为小写,否则不转换。然后输出最后得到的字符。main(){char
22、ch;scanf("%c",&ch);ch=(ch>