欢迎来到天天文库
浏览记录
ID:52117413
大小:805.50 KB
页数:38页
时间:2020-04-01
《双分支选择结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、3.1单分支选择结构if语句3.2双分支选择结构if~else,以及条件运算与条件表达式3.3多分支选择结构程序设计第三章选择结构流程及应用3.3多分支选择结构程序设计引子:例如我们要解决这样一个问题:输入一个整数,根据输入值,输出数的范围属于大于0、小于0还是等于0。x的范围实际上是三种情况,我们先用ifelse解决这个问题:if(x==0)printf("x==0");else{if(x<0)printf("x<0");elseprintf("x>0");}if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)
2、语句3;…...else语句n;1、else-if语句的格式例:if(salary>1000)index=0.4;elseif(salary>800)index=0.3;elseif(salary>600)index=0.2;elseif(salary>400)index=0.1;elseindex=0;else-if流程:功能:按表达式的顺序进行判断,最早值为真的表达式将引起执行相应语句i,并且不再继续判断其它条件。若全部表达式为假,则执行语句n。引例用else-if来实现如下:if(x>0)printf("x>0");elseif(x<
3、0)printf("x<0");elseprintf("x=0");2、else-if语句的运行规律If(表达式1)else哦,否定表达式1以后,原来还剩这么多条件啊!If(表达式2)else否定表达式1和2以后,原来还有这么多条件啊!If(表达式3)Ifelseelseifelseelseifelseelse注意:If和else是关键字,是固定的,不能丢掉!最开始的是If后面紧跟括号(),然后就是else-if,直到最后是一个else。else-if语句中,else与if语句之间有空格,一般取一个。每一个elseif后面跟的除了单条语句之
4、外还可以是复合语句,用花括号括起来。【例1】判断输入字符种类#includemain(){charc;c=getchar();if(c>='0'&&c<='9')printf("Thecharacterisadigit");elseif(c>='A'&&c<='Z')printf("Thecharacterisacapitalletter");elseif(c>='a'&&c<='z')printf("Thecharacterisalowerletter");elseprintf("Thecharacteris
5、othercharacter");}【例2】编程实现给一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。90分以上为‘A’等,89-80分为‘B’等,79-70分为‘C’等,69-60分为‘D’等,60分以下为‘E’等。【源程序】main(){intgrade;printf("inputthegrade:");scanf("%d",&grade);if(grade>=90)printf("A");elseif(grade>=80)printf("B");elseif(grade>=70)printf("C
6、");elseif(grade>=60)printf("D");elseprintf("E");}从键盘输入一个自变量x,求分段函数y=f(x)的值,f(x)的表达式如下:练习y=x+3,x>50,0=7、句4内嵌if内嵌ifif(表达式1)if(表达式2)语句1else语句2内嵌ifif(表达式1){if(表达式2)语句1}else语句3内嵌ifif(表达式1)语句1elseif(表达式3)语句3else语句4内嵌if【例3】输入两数并判断其大小关系#includemain(){intx,y;printf("Enterintegerx,y:");scanf("%d,%d",&x,&y);if(x!=y)if(x>y)printf("X>Y");elseprintf("X8、");}运行:Enterintegerx,y:12,23XYEnterintegerx,y:12,12X==Yif(……)i
7、句4内嵌if内嵌ifif(表达式1)if(表达式2)语句1else语句2内嵌ifif(表达式1){if(表达式2)语句1}else语句3内嵌ifif(表达式1)语句1elseif(表达式3)语句3else语句4内嵌if【例3】输入两数并判断其大小关系#includemain(){intx,y;printf("Enterintegerx,y:");scanf("%d,%d",&x,&y);if(x!=y)if(x>y)printf("X>Y");elseprintf("X8、");}运行:Enterintegerx,y:12,23XYEnterintegerx,y:12,12X==Yif(……)i
8、");}运行:Enterintegerx,y:12,23XYEnterintegerx,y:12,12X==Yif(……)i
此文档下载收益归作者所有