欢迎来到天天文库
浏览记录
ID:49311934
大小:840.50 KB
页数:54页
时间:2020-02-03
《C语言C语言第五讲.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言电子教案(五)第五讲第五章逻辑运算和判断选取控制主要内容:§5.4switch语句§5.5选择结构程序举例§5.4switch语句(开关语句、多分支选择语句)switch语句的格式:switch(表达式){case常量1:语句1;break;case常量2:语句2;break;case常量3:语句3;break;……case常量n:语句n;break;default:语句n+1}执行过程:先计算表达式之值,如果与某个case语句中的常量的值匹配(即相同),则执行其后的语句;若所有的case语句中的常量的值都不能与之匹配,则执行default后的语句n+1。根据表达
2、式的值找入口注意:则执行完入口语句后,则自动转到下一个case后面的语句执行;如果语句中有break;,则执行完一个入口语句后跳出switch选择结构。switch语句流程图(有break;语句)表达式语句1语句2语句3语句n=常量1=常量2=常量3=常量n语句n+1……=其它switch语句流程图(无break;语句)表达式语句1语句2语句3语句n=常量1=常量2=常量3=常量n语句n+1……=其它switch语句的使用举例1:求分段函数的值1+xx=12*xx=2x*xx=3x其它y=求分段函数的值:main(){intx,y;scanf("%d",&x);swit
3、ch(x){case1:y=1+x;break;case2:y=2*x;break;case3:y=x*x;break;default:y=x;}printf("x=%d,y=%d",x,y);}用switch语句求分段函数的值程序注意:关键字case后面一定要留空格,且case后面应为常量。程序运行后,如果从键盘上输入3<回车>,则程序运行的顺序和结果如下:x=3,y=9这是一个switch语句运行程序用switch语句求分段函数的值程序main(){intx,y;scanf("%d",&x);switch(x){case1:y=1+x;break;case2:y
4、=2*x;break;case3:y=x*x;break;default:y=x;}printf("x=%d,y=%d",x,y);}程序运行后,如果从键盘上输入-3<回车>,则程序运行的顺序和结果如下:x=-3,y=-3这是一个switch语句switch语句的使用例2:输入分段成绩,打印出分数段main(){charc;printf("Pleaseenterachar");c=getchar();c=(c>='a'&&c<='z')?c-32:c;switch(c){case'A':printf("90~100");break;case'B':print
5、f("80~89");break;case'C':printf("70~79");break;case'D':printf("60~69");break;default:printf("<60");}}/*为输入作提示*//*将c转换成大写*/注意:case后面应为字符常量'A'、'B'等,不能为变量A、B等。程序运行后,如果从键盘上输入b<回车>,则程序运行的顺序和结果如下:80~90运行程序switch语句使用说明各个语句后如果没有break;语句,则执行了相应的操作后,会自动转到下一个case后面的语句执行。可以使多个case共用同一组执行语句。c
6、ase后面的表达式不能相同。各个case和default语句的顺序可以改变。switch选择结构中break语句的使用main(){charc;printf("Pleaseenterachar");c=getchar();c=(c>='a'&&c<='z')?c-32:c;switch(c){case'A':printf("90~100");case'B':printf("80~89");case'C':printf("70~79");case'D':printf("60~69");default:printf("<60");}}/*为输入作提示
7、*//*将c转换成大写*/去掉break;语句,程序运行后,仍从键盘上输入b<回车>,则程序运行的顺序和结果如下:80~9070~7960~69<60运行程序switch语句应用例3:按运输距离计算运费距离s与运费折扣标准如下:s<250没有折扣250≤s<5002%折扣500≤s<10005%折扣1000≤s<20008%折扣2000≤s<300010%折扣3000≤s15%折扣按运输距离计算运费算法分析s折扣d(%)250500100020003000246810121416124812c注意到:折扣点的变化都是250的整倍数。可以将
此文档下载收益归作者所有