C语言程序设计立体化教程课件:switch语句_第1页
C语言程序设计立体化教程课件:switch语句_第2页
C语言程序设计立体化教程课件:switch语句_第3页
C语言程序设计立体化教程课件:switch语句_第4页
C语言程序设计立体化教程课件:switch语句_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

五子棋游戏界面菜单制作Switch语句问题描述编写一个程序,根据用户输入的期末考试成绩,输出相应的成绩评定信息。成绩在90—100分输出“优秀”;成绩大于等于80分小于90分输出“良好”;成绩大于等于70分小于80分输出“中等”;成绩大于等于60分小于70分输出“及格”;成在0-60分输出“不及格”。

问题解决

(1)单支结构可以实现#include<stdio.h>voidmain(){intscore;printf(“\n请输入一个百分制的期末考试成绩:");scanf("%d",&score);if(score>=90&&score<=100)printf(“\n优秀");if(score>=80&&score<90)printf(“\n良好");if(score>=70&&score<80)printf(“\n中等");if(score>=60&&score<70)printf(“\n及格");if(score<60&&score>=0)printf(“\n不及格");}

缺点:表达条件太繁琐,容易写错。

问题解决

(2)多支结构if可以实现#include<stdio.h>voidmain(){intscore;printf(“\n请输入一个0-100的期末考试成绩:");scanf("%d",&score);if(score>=90)printf(“\n优秀");elseif(score>=80)printf(“\n良好");elseif(score>=70)printf(“\n中等");elseif(score>=60)printf(“\n及格");

elseprintf(“\n不及格");}

问题解决

(3)还可以用switch开关语句来实现C语言提供了switch语句直接处理多分支选择。

switch语句

1.switch语句的一般形式

switch(表达式){case常量表达式1:语句组;break;

case常量表达式2:语句组;break;......case常量表达式n:语句组;break;

[default:语句组;[break;]] }

执行过程

(1)当switch后面“表达式”的值,与某个case后面的“常量表达式”的值相同时,就执行该case后面的语句(组);当执行到break语句时,跳出switch语句,转向执行switch语句的下一条。(2)如果没有任何一个case后面的“常量表达式”的值,与“表达式”的值匹配,则执行default

后面的语句(组)。然后,再执行switch语句的下一条。表达式语句1语句2语句n语句n+1常量表达式1常量表达式2常量表达式ndefaultswitch语句的流程图表示

问题实现

#include<stdio.h>voidmain(){intscore;printf(“\n请输入一个0-100的期末考试成绩:

");scanf("%d",&score);score=score/10;switch(score){case10:printf(“\n优秀");break;case9:printf(“\n优秀");break;case8:printf(“\n良好");break;case7:printf(“\n中等");break;case6:printf(“\n合格");break;default:printf(“\n不合格");break;}}

说明

(1)switch后面的“表达式”,必须是整型和字符型中的一种。(2)每个case后面“常量表达式”的值,必须各不相同,否则会出现相互矛盾的现象(即对表达式的同一值,有两种或两种以上的执行方案)。(3)case后面的常量表达式仅起语句标号作用,并不进行条件判断。系统一旦找到入口标号,就从此标号开始执行,不再进行标号判断,所以必须加上break语句,以便结束switch语句(4)各case及default子句的先后次序,不影响程序执行结果。(5)多个case子句,可共用同一语句(组)。(6)用switch语句实现的多分支结构程序,完全可以用if语句或if语句的嵌套来实现。

举例

利用switch开关语句编写一个简单的运算器

#include<stdio.h>main(){floatx,y;charop;doublez;printf("请输入两个操作数和操作符,中间用逗号隔开输入:\n");scanf("%f,%f,%c",&x,&y,&op);switch(op){case'+':z=x+y;break;case'-':z=x-y;break;case'*':z=x*y;break;case'/':z=x/y;break;default:printf("operatorError");}printf("%.2f%c%.2f=%.2f\n",x,op,y,z);}

举例

利用switch开关语句编写一个简单的运算器

#include<stdio.h>main(){floatx,y;charop;doublez;printf("请输入两个操作数和操作符,中间用逗号隔开输入:\n");scanf("%f,%f,%c",&x,&y,&op);switch(op){case'+':z=x+y;break;case'-':z=x-y;break;

case‘*’:z=x*y;case'/':z=x/y;break;default:printf("operat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论