书签 分享 收藏 举报 版权申诉 / 40
上传文档赚钱

类型switch语句的应用课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3592612
  • 上传时间:2022-09-22
  • 格式:PPT
  • 页数:40
  • 大小:308.51KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《switch语句的应用课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    switch 语句 应用 课件
    资源描述:

    1、 7.1 switch 语句语句:switch 语句语句是一条多分支选择语句是一条多分支选择语句.在实际应用中,要在多种情况中选择一种情况在实际应用中,要在多种情况中选择一种情况,执行某执行某一部分语句。一部分语句。当然可以使用嵌套的当然可以使用嵌套的if,if else if语句来处理,但其分支语句来处理,但其分支过多,程序冗长,难读过多,程序冗长,难读,不够灵巧。不够灵巧。switch语句是语句是C语言中语言中处理多路选择处理多路选择问题的一种问题的一种更直观更直观和有效的手段和有效的手段.在测试某个表达式是否与在测试某个表达式是否与一组常量一组常量表达式表达式中中的某一值相配时的某一值相

    2、配时,switch语句显得更为方便语句显得更为方便.一般形式如下:一般形式如下:switch(表达式表达式)case 常量表达式常量表达式1:语句语句1 break;case 常量表达式常量表达式2:语句语句2 break;case 常量表达式常量表达式n:语句语句n break;default:语句语句n+1 说明说明:(1).关于关于表达式表达式:表达式可以是表达式可以是整型、字符型等表达式。整型、字符型等表达式。有一个确定的值有一个确定的值(不是逻辑值不是逻辑值).(2).关于常量表达式关于常量表达式1n:只起到只起到一个标号的作用一个标号的作用,根据表达式的值来根据表达式的值来判断判断

    3、,找到一个相匹配的入口处找到一个相匹配的入口处,程程序往下执行。序往下执行。各个各个case后的常量表达式的值后的常量表达式的值必须互不相同必须互不相同.(3).每个每个case分支可有多条语句分支可有多条语句,可不用花括号,可不用花括号。switch(表达式表达式)case 常量表达式常量表达式1:语句语句1 break;case 常量表达式常量表达式2:语句语句2 break;case 常量表达式常量表达式n:语句语句n break;default:语句语句n+1 (4).各个各个case 语句只是一语句只是一个入口标号个入口标号,并不确定执行并不确定执行的终止点的终止点.(5).一般在各

    4、个一般在各个case 语句最后应语句最后应该加一该加一break语句语句,可使程序流程可使程序流程跳出跳出Switch结构结构.否则会从入口处一直向下执行否则会从入口处一直向下执行.(6 6).).各个各个casecase和和defaultdefault出现的先后次序,并不影响执出现的先后次序,并不影响执行结果行结果.defaultdefault可以没有可以没有.(7).多个多个case可共用一可共用一组执行语句组执行语句.例如为了统计一段文例如为了统计一段文字中的数字字中的数字,字母及分隔字母及分隔符的个数符的个数,可用下列程序段实现可用下列程序段实现:switch(ch)case 0:ca

    5、se 1:.case 8:case 9:digit+;break;case :case n:case t:white+;break;default:character+;break;这里有这里有一个空格一个空格.表达式后都有表达式后都有一冒号一冒号”:”.无无break语句语句表达式表达式=常量表达式常量表达式1?语句序列语句序列真真(非非0)break假假(0)有有break语句语句无无break语句语句表达式表达式=常量表达式常量表达式2?语句序列语句序列2break有有break语句语句真真(非非0)假假(0)表达式表达式=常量表达式常量表达式n?语句序列语句序列nbreak真真(非非0

    6、)假假(0)无无break语句语句语句序列语句序列n+1有有break语句语句switch(表达式表达式)说明:说明:switch语句不等同于语句不等同于if语句语句:1.switch只能进行值的只能进行值的相等性相等性的检查的检查.2.if语句不但可以进行相等性的检查语句不但可以进行相等性的检查,还可以计算关还可以计算关系系表达式表达式或逻辑表达式或逻辑表达式,进行进行逻辑逻辑判断判断的真假的真假.只进行值的只进行值的相等性相等性的检查的检查,不是逻辑判断不是逻辑判断!#include int main()int day;printf(请输入星期的数字编号请输入星期的数字编号(0-6):);

    7、scanf(%d,&day);.Ch7_7_1.c .switch(day)case 0:printf(星期日星期日 n);break;case 1:printf(星期一星期一 n);break;case 2:printf(星期二星期二 n);break;case 3:printf(星期三星期三 n);break;case 4:printf(星期四星期四 n);break;case 5:printf(星期五星期五 n);break;case 6:printf(星期六星期六 n);break;default:printf(输入有误,请输入输入有误,请输入0-6之间的数字!之间的数字!n);ret

    8、urn 0;每个每个case分支可有多条分支可有多条语句,可不用花括号语句,可不用花括号,也可以用。也可以用。表达式表达式有一个确定的有一个确定的值值(不是逻辑值不是逻辑值).一般在各个一般在各个case 语句最后应该加语句最后应该加一一break语句语句,可使程序流程跳出可使程序流程跳出Switch结构结构.否则会从入口处一直向下执行否则会从入口处一直向下执行.0的的ASCII值为值为48.Ch7_7_2.cCh7_7_3.c#include void main()char ch;printf(Please input Y/N(y/n):);scanf(%c,&ch);.Ch7_7_4.c

    9、.switch(ch)case y:case Y:printf(this is Y or y.n);break;case n:case N:printf(this is N or n.n);break;default:printf(this is other char.n);多个多个case可共用可共用一组执行语句一组执行语句.表达式表达式有一个确定的有一个确定的值值(不是逻辑值不是逻辑值).#include void main()int i,c=5;float m;printf(输入任意一个整型数:输入任意一个整型数:n);scanf(%f,&m);printf(*n);printf(1,输

    10、出相反数输出相反数n);printf(2,输出平方数输出平方数n);printf(“3,输出开方根输出开方根n);printf(4,退出退出n);printf(*n);Ch7_7_5.c .while(1)scanf(%d,&c);switch(c)case 1:printf(输出相反数输出相反数:%fn,-m);break;case 2:printf(输出平方数输出平方数:%fn,m*m);break;case 3:printf(输出平方根输出平方根:%fn,sqrt(m);break;case 4:break;default:printf(请输入请输入14之间的数字!之间的数字!n);if

    11、(c=4)break;Ch7_7_5.c#include#includeint main()char ch;for(;)printf(“n请输入十六进制数请输入十六进制数 0 F(输入输入Q 或或 q 退出退出):);scanf(%c,&ch);getchar();printf(输入的是:输入的是:%c,ch);.当输入一个字符当输入一个字符,打一个回车后打一个回车后,输输入结束入结束.但在输入缓冲区中存在二个字符但在输入缓冲区中存在二个字符:输输入的字符入的字符,还有一个是还有一个是n.当打了一个回车后当打了一个回车后(其实是二个动作其实是二个动作:回车回车,换行换行.c语言会把回车语言会把

    12、回车,换行自动转换为换行自动转换为n.反之亦然反之亦然.switch(ch)case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:printf(十进制数十进制数:%dn,ch-0);break;case A:case B:case C:case D:case E:case F:printf(十进制数十进制数:%dn,ch-55);break;Ch7_7_6.cASCII值值:0 48A 65a”97 case a:case b:case c:case d:case e:case f:printf(十进制数十进

    13、制数:%dn,ch-87);break;case Q:case q:printf(退出程序退出程序n);exit(0);default:printf(输入有误输入有误!);return 0;ASCII值值:0 48A 65a”97void main()int blank,digit,i,other;char ch;blank=digit=other=0;printf(input 10 characters:);.input 10 characters:Reold 123?blank=1,digit=3,other=6#include void main()int i;for(i=0;i 3;i

    14、+)switch(i)case 1:printf(%d,i);case 2:printf(%d,i);default:printf(%d,i);以下程序的输出结果是以下程序的输出结果是:A.011122 B.012 C.012020 D.120注意所属关系Ch7_7_7.c#include#include int main()float numb1=0,numb2=0;int menu=1,flag;float total=0;char calType;.for(;)flag=1;printf(nt希望进行哪种运算希望进行哪种运算?nn);printf(t 1:加法加法n);printf(t

    15、2:减法减法n);printf(t 3:乘法乘法n);printf(t 4:除法除法n);printf(t 0:退出计算器退出计算器n);printf(nt输入你的选择:输入你的选择:);.scanf(%d,&menu);if(menu=0)exit(0);else if(menu4)printf(t 无效的选择无效的选择!n);else printf(t输入两个数中的第一个数:输入两个数中的第一个数:);scanf(%f,&numb1);printf(t输入两个数中的第二个数:输入两个数中的第二个数:);scanf(%f,&numb2);.退出程序.switch(menu)case 1:to

    16、tal=numb1+numb2;calType=+;break;case 2:total=numb1-numb2;calType=-;break;case 3:total=numb1*numb2;calType=*;break;case 4:if(numb2=0)printf(nt不能被不能被0除除n);flag=0;break;total=numb1/numb2;calType=/;break;default:printf(无效的选择!无效的选择!n);if(flag=1)printf(nn*);printf(nnt%.3f%c%.3f=%.3f,numb1,calType,numb2,to

    17、tal);printf(nn*nn);return 0;Ch7_7_7.c问输出为问输出为?:?:A)K=3 A)K=3 B)K=4B)K=4 C)K=2 D)K=0 C)K=2 D)K=0 main()main()intint k=0;char c=A;k=0;char c=A;do do swich(cswich(c+)+)case A:K+;break;case A:K+;break;case B:K-;case B:K-;case C:k+=2;break;case C:k+=2;break;case D:K=K%2;continue;case D:K=K%2;continue;cas

    18、e E:K=K case E:K=K*10;break;10;break;default:K=K/3;default:K=K/3;K+;K+;while(cG);while(cG);printf(“Kprintf(“K=%dn”,K);=%dn”,K);第第1次次.第第2次次.3.4.5.6.K=2 k=4 k=7 k=1 k=11 k=4c=B c=C c=D c=E c=F c=G注注:每次执行每次执行switch(C+)switch(C+)时时,先取先取C C的值的值,找到入找到入 口口,然后然后C C增增1.1.当执行到当执行到continuecontinue时时,流程跳过流程跳过do

    19、-whiledo-while语句语句 中当未执行的语句中当未执行的语句,而直接转向而直接转向whilewhile的条件表的条件表 达式达式,判循环是否进行判循环是否进行.第7章后练习 练习与实践:练习与实践:1百分制转换成五分制百分制转换成五分制.#include int main()int x;printf(请输入学生百分制成绩请输入学生百分制成绩:n输入负数结束程序输入负数结束程序:n);scanf(%d,&x);课本课本 P101:1题题while(x0)switch(x/10)case 10:case 9:printf(五分制为五分制为:n5nn);break;case 8:print

    20、f(五分制为五分制为:n4nn);break;case 7:printf(五分制为五分制为:n3nn);break;case 6:printf(五分制为五分制为:n2nn);break;default:printf(五分制为五分制为:n1nn);break;课本课本 P101:1题题 printf(请输入学生百分制成绩请输入学生百分制成绩:n输入负数结束程序输入负数结束程序:n);scanf(%d,&x);printf(谢谢使用,再见谢谢使用,再见:n);return 0;#include#includeint main()double x,s;int y;printf(Input a num

    21、ber:n);scanf(%lf,&x);2计算计算sin(),cos(),tan().while(1)printf(您希望进行哪种运算您希望进行哪种运算?n);printf(1.计算计算sin(x)n);printf(2.计算计算cos(x)n);printf(3.计算计算tan(x)n);scanf(%d,&y);switch(y)case 1:s=sin(x);printf(sin(%f)=%fn,x,s);break;case 2:s=cos(x);printf(cos(%f)=%fn,x,s);break;case 3:s=tan(x);printf(tan(%f)=%fn,x,s);break;default:printf(“输入有误,请输入输入有误,请输入 1-3之间的数字!之间的数字!n);if(y=1|y=2|y=3)break;printf(谢谢使用谢谢使用:n);return 0;

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:switch语句的应用课件.ppt
    链接地址:https://www.163wenku.com/p-3592612.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库