资源描述:
《C语言学习教程-选择结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章选择结构程序设计顺序结构分支结构循环结构控制语句是能控制程序的流程,根据判断决定运行什么不运行什么。程序的三种结构分支流程控制语句if语句条件运算符switch语句5.3.1if语句的三种形式1.if(表达式)语句1表达式语句YN例:求x的绝对值if(x<0)x=-x;例:if(x>y)printf(“%d”,x);x=-xx<0yn例:如果是字母,则输出,否则不输出。if((c>=‘A’&&c<=‘Z’)
2、
3、(c>=‘a’&&c<=‘z’))printf(“%c”,c);2.if(表达式)语句1else语句2表达式语句1YN语句2例:检查a是否等于b,若相等则equal赋
4、值为1,否则赋值为0。if(a==b)equal=1;elseequal=0;a==b?equal=1ynynequal=03.if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3...elseif(表达式m)语句melse语句n例:试编程,根据学生的考试成绩划分等级.分数等级90~100A75~89B60~74C0~59D0100607590x>=90elsex>=75x>=60elseABCDelse程序如下:main(){intscore;chargrade;printf(“请输入学生成绩:”);scanf(“%d“,&score);
5、if(score>=90)grade=‘A’;elseif(score>=75)grade=‘B’;elseif(score>=60)grade=‘C’;elsegrade=‘D’;printf(“学生成绩是%d,等级是%c”,score,grade);}5.3.2if语句的嵌套在if语句中又包含一个或多个if语句。if()if()语句1else语句2elseif()语句3else语句4内嵌if内嵌if注意:else总是与它上面的最近的if配对if()if()语句1elseif()语句2else语句3内嵌if书写时,同一层次的if和else对齐,一目了然。if()if()语句
6、1elseif()语句2else语句3为实现程序设计者的企图,可以加花括号来确定配对关系。if()if()语句1elseif()语句2else语句3{}请思考:有一函数:y=-1(x<0)0(x=0)1(x>0)编一程序,输入一个x值,输出y值。有以下几种写法,请大家判断哪些正确?程序1:......if(x<0)y=-1;elseif(x==0)y=0;elsey=1;......X>=0X>0程序1结果:x<0y=-1x=0y=0x>0y=1对程序2:......If(x>=0)if(x>0)y=1;elsey=0;elsey=-1;......X==0X<0程序2结果:x<
7、0y=-1x=0y=0x>0y=1对y=-1(x<0)0(x=0)1(x>0)y=-1(x<0)0(x=0)1(x>0)程序3:.....y=-1;if(x!=0)if(x>0)y=1;elsey=0;......X<0else程序3结果:x<0y=0x=0y=-1x>0y=1错y=-1(x<0)0(x=0)1(x>0)程序4:.....y=0;if(x>=0)if(x>0)y=1;elsey=-1;......X==0else程序4结果:x<0y=0x=0y=-1x>0y=1错5.3.3条件运算符表达式1?表达式2:表达式3表达式1真(非0)取表达式2的值假(0)取表达式3的值
8、如:求b的绝对值if(b<0)abs_b=-b;elseabs_b=b;abs_b=(b<0)?-b:b;练习1:写出计算c=a+
9、b
10、的条件表达式:if(b<0)c=a-b;elsec=a+b;c=b<0?a-b:a+b;练习2:判断一字符变量a是否大写字母,若是,则将它转换成小写。if(a<‘Z’&&a>’A’)a=a+32;a=(a<=‘Z’&&a>=‘A’)?a+32:a;条件运算符的优先级大于赋值运算符;结合方向自右而左;a>b?a:c>d?c:da>b?a:(c>d?c:d)例:用条件表达式求三个数a、b、c的最大值Max=a,b两数最大值>c?a,b两数最大值:c如
11、何求a,b两数最大值?(a>b)?a:bMax=((a>b)?a:b)>c?((a>b)?a:b):ca,b两数最大值课堂练习:执行下列语句后,a的值是__________,b的值是___________,c的值是__________.inta,b,c,m=1,n=0;a=(--m==n++)?--m:++n;b=m++;c=--n;abm=m-10==nn=n+1c10mn0011m=m-1-1-1-1a=-1-1b=mm=m+1-10n=n-1c=n005.4switch语句