资源描述:
《选择结构设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、多分支语句_switch结构的应用第三章1IF的两路选择结构(if-else)及多路选择结构(if-else-if)的应用上讲主要内容2本讲内容多路选择结构的另一种实现方法—switch语句的应用?3嵌套if-else-if语句的应用多路选择结构程序设计的实现?switch语句的应用途径途径4switch语句语句形式:每个常量表达式的值(整数或字符)不能相同,次序不影响执行结果可以是整型、字符型、枚举型执行过程:先计算switch语句中表达式的值,再依次与1到n个常量表达式的值比较,当表达式的值与某个case后的常量表达式的值相等时,则执行该case后的语句,然后执行break语句跳出s
2、witch结构。如果所有常量表达式的值都不等于switch中表达式的值,则执行default后的语句。5switch语句的执行过程是:1.首先计算switch后面圆括号内表达式的值,2.若此值等于某个case后面的常量表达式的值,则转向该case后面的语句去执行;3.若表达式的值不等于任何case后面的常量表达式的值,则转向default后面的语句去执行,然后转到switch语句后面的语句去执行。6main(){inta;printf("inputintegernumber:");scanf("%d",&a);switch(a){case1:printf("Monday");case2:
3、printf("Tuesday");case3:printf("Wednesday");case4:printf("Thursday");case5:printf("Friday");case6:printf("Saturday");case7:printf("Sunday");default:printf("error");}}7Switch应用的引入举例引例-1:从键盘上输入年号,判断这一年是否为闰年,若是闰年则输出“Y”,否则输出“N”。闰年的判断依据是:若某年号能被4整除但不能被100整除,则这一年是闰年;或者这一年能被400整除也是闰年。判断闰年的逻辑表
4、达式为:year%4==0&&year%100!=0)
5、
6、year%400==0程序main(){intyear,p;scanf("%d",&year);if((year%4==0&&year%100!=0)
7、
8、year%400==0)p=1;elsep=0;if(p)printf("Y");elseprintf("N");}Switch(p){case1:printf("Y");Case0:printf("N");}8使用switch语句应注意:(1)各常量表达式的值不可相同。(2)case后可有多个语句,不用{}括起。(3)常量表达式仅是一个语句标号。所以,在执行在完某个
9、case后的语句后,将自动转到该语句后面的语句去执行,直到遇到switch语句的右花括号或“break”语句为此,而不再进行条件判断。(4)各case及default子句的顺序可随意。(5)每个分支执行后,可利用break语句跳出。9举例:从键盘输入一个操作符使整数x与y进行相应的操作。并输出操作结果.#include“stdio.h”main(){intx=10,y=5,z;charop;scanf(“%c”,&op);switch(op){case’+’:z=x+y;braek;case’-’:z=x-y;braek;case’*’:z=x*y;braek;case’/’:z=x/y;b
10、raek;default:printf(“OperaterError!”);}printf(%d%c%d=%d”,x,op,y,z);}10练习1:判断输入的字符是数字,空格还是其他字符?11intmain(void){intblank,digit,i,other;charch;blank=digit=other=0;printf("Enter10characters:");for(i=1;i<=10;i++){ch=getchar();switch(ch){case'':blank++;break;case'0':case'1':case'2':case'3':case'4':case'5
11、':case'6':case'7':case'8':case'9':digit++;break;default:other++;break;}}printf("blank=%d,digit=%d,other=%d",blank,digit,other);return0;}12练习2:判断输入的字符是数字,空格还是其他字符?13读程序示例main(){intx=1,y=0,a=0,b=0;switch(x)