c语言switch语句判断成绩等级(switch case用法举例)

admin 446 0

其实c语言switch语句判断成绩等级的问题并不复杂,但是又很多的朋友都不太了解switch case用法举例,因此呢,今天小编就来为大家分享c语言switch语句判断成绩等级的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

一、C程序用switch语句判断成绩等级

1、C语言用switch语句进行成绩等级判断可以采用以下的代码:

2、case'9': printf("A"); break;

3、case'8': printf("B"); break;

4、case'7': printf("C"); break;

5、Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择。以C语言来说,switch(开关语句)常和case break default一起使用。

6、Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制流程流转的。

7、直线翻译:switch语句,即“切换”语句;case即“情况”。

8、switch语句的语法如下(switch,case,break和default是关键字):

9、参考资料来源:百度百科-switch(计算机语言关键字)

二、C语言用switch语句进行成绩等级判断

1、C语言用switch语句进行成绩等级判断可以采用以下的代码:

2、case'9': printf("A"); break;

3、case'8': printf("B"); break;

4、case'7': printf("C"); break;

5、Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择。以C语言来说,switch(开关语句)常和case break default一起使用。

6、Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制流程流转的。

7、直线翻译:switch语句,即“切换”语句;case即“情况”。

8、switch语句的语法如下(switch,case,break和default是关键字):

9、参考资料来源:百度百科-switch(计算机语言关键字)

三、switch用法

1、执行过程:

先计算并获得switch后面小括号里的表达式或变量值,然后将计算结果顺序与每个case后的常量比较。

2、先计算并获得switch后面小括号里的表达式或变量值,然后将计算结果顺序与每个case后的常量比较。

3、当二者相等时,执行个case块中的代码,当遇到break时,就跳出switch选择结构,执行switch选择结构之后的代码。

4、如果任何一个case之后的常量与switch后的小括号中的值相等,则执行switch尾部的default块中代码。

四、C语言里的switch语句怎么用,最好有例子哈~!

凡是使用过的人都会有同样的感觉——C语言的使用灵活这个特点既是优点又是缺点,因为对精通C语言的用户来讲,灵活就意味着编程可以无拘无束,甚至随心所欲;但对初学者或者是尚未摸着规律的用户来说,有时候就会觉得C程序设计有点象雾里看花,摸不着头脑。因为灵活就意味着没有一个标准。而实际上,C语言和其它计算机语言一样,只要你真正掌握了该语言的每一个语句的特点,理解、运用就不难掌握了。下面就C语言中switch语句的使用特点谈谈自己的体会。---- switch语句的格式如下: switch(表达式){case常量表达式1:语句1 case常量表达式2:语句2 case常量表达式3:语句3 case常量表达式n:语句n default:语句n+1}----从表面上看来,switch语句与PASCAL语言中的case语句以及FOXBASE中的do case语句非常类似,只是关键字有所不同:一个是switch;而另一个是case或do case。但如果仔细阅读过教材或有关参考书的话,就绝不会有此想法。从语句的功能上来看,PASCAL和case语句或FOXBASE的do case语句中的常量表达式是用来与case后面的表达式比较以确定执行哪一个语句,一旦执行了某一语句,则会自动地结束这一case后的语句;而C的switch语句则不然。首先,switch语句中的常量表达式只是起到一个入口作用,一旦执行了相应的语句后,只要没有强迫中断语句(break),它就会一直按顺序继续执行下去,也就是会执行其它case后面的语句,直到遇到“}”符号才停止。乍看觉得有点不可事议,但若仔细回味且切身编程体会,那么就会感司到C的switch语句的独到之处。接下来就几个具体例子来剖析:switch语句的特点以及区别于其它语言中的相应语句的妙处。----第一个例子:根据输入的百分制成绩,然后给出‘A’~‘E’相应的等级符(90-100为‘A’、80-89为‘B’、70-79为‘B’、60-69为‘C’、0-59为‘E’)。主要的处理程序段如下:(temp、score、grade皆为整型变量) temp=score/10; switch(temp){case 9:grade=‘A’; case 8:grade=‘B’; case 7:grade=‘C’; case 6:grade=‘D’; case 5:grade=‘E’;} printf(“the grade is%c”,grade);----仔细阅读这段程序(根据C语言的特点),就会发现有很多错误。首先,对100分和低于50分的情况没有考虑;其次,C语言的switch特点是顺序执行,那么这段程序不输入的分数如何,最后的输出都将是‘E’。因此,修改这段程序,可以得到一个正确答案是: temp=score/10; switch(temp){case 10: case 9:grade=‘A’;break; case 8:grade=‘B’;break; case 7:grade=‘C’;break; case 6:grade=‘D’;break; case 5: case 4: case 3: case 2: case 1: case 0:grade=‘E’;} printf(“the grade is%c,grade”);----但这么一个结果还不算是一个好的C程序,因为它只是能得到正确的解,没有真正用到C的特点。如果将C的特点运用到这段程序中,则程序将优化成如下: grade=‘A’; temp=score/10; switch(temp){case 0: case 1: case 2: case 3: case 4: case 5:grade++; case 6:grade++; case 7:grade++; case 8:grade++; case 9: case 10:} printf(“the grade is%c,grade”);----从这段程序中,我们可以体会到前面所说的该语句的特点。----第二个例子:运输公司对用户计算运费。距离(s)越远,每公里运费越低。具体标准如下: s< 250(km)没有折扣 250<=s< 500(km) 2%折扣 500<=s< 1000(km) 5%折扣 1000<=s< 2000(km) 8%折扣 2000<=s< 3000(km) 10%折扣 3000<=s(km) 15%折扣----设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费计算公式为:---- f=p*w*s*(1-d)----分析此问题,折扣的变化是有规律的:折扣的“变化点”都是250的倍数(250,500,1000,2000,3000)。利用这一特点,可以再设一变量c,它代表250的倍数。当c<1时,无折扣;1<=c<2时,折扣为d=2%;2<=c<4时,d=5%;4<=c<8时,d=8%;8<=c<12时,d=10%; c>=12时,d=15%。所以可以有如下没有错误的程序段: scanf(“%f,%f,%d”,&p,&w,&s); if(s>=3000)c=12 else c=s/250 switch(c){case 0:d=0;break; case 1:d=2;break; case 2: case 3:d=5;break; case 4: case 5: case 6: case 7:d=8;break; case 8: case 9: case 10: case 11:d=10;break; case 12:d=15;} f=p*w*s*(1-d/100.0); printf(“freight%15.f”,f);----如同前一个题目,这个程序段也完全可以利用switch特点,改进优化得到如下程序段: d=0 scanf(“%f,%f,%k”,&p,&w,&s); if(s>=3000)c=12 else c=s/250 switch(c){case 12:d+=5; case11: case 10: case 9: case 8:d+=2; case 7: case 6: case 5: case 4:d+=3; case 3: case 2:d+=3; case 1:d+=2; case 0:} f=p*w*s*(1-d/100.0); printf(“freight%15.4f”,f);----从上面两个例子分析,使我们可以比较清楚地看见C语言中switch语句与其它语言中相应语句的区别。尽管在学习和教计算机语言的过程中,我们始终认为语言是相通的,这样便于学习一门新的语言。但是真正要把某一门计算机语言学好,非得掌握它的特点。----这里仅仅是自己在编程实践过程中的一点体会,有错误的地方恳请批评指正。希望对你有帮助!

五、利用if-else语句实现成绩对应的等级

1、if(score>=90) printf("优\n");

2、if(score>=80&&score<=89) printf("良\n");

3、if(score>=70&&score<=79) printf("中\n");

4、if(score>=60&&score<69) printf("及格\n");

5、if语句是指编程语言(包括c语言、C++、C#、java、VB、汇编语言等)中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。if的返回值为真或假,可以用bool型变量进行存储,占用一字节。

6、if语句中的“表达式”可以是关系表达式、逻辑表达式,甚至是数值表达式。其中最直观、最容易理解的是关系表达式。所谓关系表达式就是两个数值进行比较的式子。

六、c语言作业 老师要求用switch 来判定学生分数等级

1、首先指出你的疑问:因为你的switch语句在最后一个if语句中,也就是说,当分数为s>=0&&s<=49时才执行switch语句,此时x==5。于是就执行case 5了。

2、修改:把switch语句与if语句并列。

3、更好的:你为什么用了if语句还要用switch语句呢,直接在if语句中输出不就行了吗?

4、还有输入quit退出的问题:建议使用scanf在接收字符串n。接收字符串n后判断是否等于”quit“,如果等于则break,退出while循环,否则往下执行。判断时可以用strcmp函数进行判断,也可以逐个的对字符串n进行判断。

5、为什么要用scanf而不用gets:当进行下一次的输入时,上次输入完分数后的回车会被这次的gets给吃掉;于是就会发现,当进行这次的输入时,”please enter your name“,”please enter your score.“会同时出现。

6、下面是我帮你修改的程序,基本上没动。

7、 printf("\n please enter your name:");

8、 if(n[0]=='q'&& n[1]=='u'&& n[2]=='i'&& n[3]=='t')

9、 else printf("\n please enter your score.");

10、 printf("\n please enter a number between 0 and 100");

11、 printf("\n please enter your name:");

12、 else printf("\n please enter your score.");

13、 printf("\n please enter a number between 0 and 100");

七、C++利用if和switch编写输出成绩等级的程序

1、switch是一个开关语句,和case配套使用,和if else判断语句差不多, switch语句是用于多分支语句进行条件判断,比如:

2、case 1: P1= 0xFE;//i=1;执行P1= 0XFE;

3、case 2: P1= 0xFD;//i=2;执行P1= 0XFD;

4、case 3: P1= 0xFB;//i=3;执行P1= 0XFB;

5、case 4: P1= 0xF7//i=4;执行P1= 0X7E;

6、default: break;//如果i不符合以上条件直接跳出不执行任何东西

7、C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。[1]

8、C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

9、20世纪70年代中期,Bjarne Stroustrup在剑桥大学计算机中心工作。他使用过Simula和ALGOL,接触过C。他对Simula的类体系感受颇深,对ALGOL的结构也很有研究,深知运行效率的意义。既要编程简单、正确可靠,又要运行高效、可移植,是Bjarne Stroustrup的初衷。以C为背景,以Simula思想为基础,正好符合他的设想。1979年,Bjame Sgoustrup到了Bell实验室,开始从事将C改良为带类的C(C with classes)的工作。1983年该语言被正式命名为C++。自从C++被发明以来,它经历了3次主要的修订,每一次修订都为C++增加了新的特征并作了一些修改。第一次修订是在1985年,第二次修订是在1990年,而第三次修订发生在c++的标准化过程中。在20世纪90年代早期,人们开始为C++建立一个标准,并成立了一个ANSI和ISO(Intemational Standards Organization)国际标准化组织的联合标准化委员会。该委员会在1994年1月25曰提出了第一个标准化草案。在这个草案中,委员会在保持Stroustrup最初定义的所有特征的同时,还增加了一些新的特征。

10、在完成C++标准化的第一个草案后不久,发生了一件事情使得C++标准被极大地扩展了:Alexander stepanov创建了标准模板库(Standard Template Library,STL)。STL不仅功能强大,同时非常优雅,然而,它也是非常庞大的。在通过了第一个草案之后,委员会投票并通过了将STL包含到C++标准中的提议。STL对C++的扩展超出了C++的最初定义范围。虽然在标准中增加STL是个很重要的决定,但也因此延缓了C++标准化的进程。

11、委员会于1997年11月14日通过了该标准的最终草案,1998年,C++的ANSI/IS0标准被投入使用。通常,这个版本的C++被认为是标准C++。所有的主流C++编译器都支持这个版本的C++,包括微软的Visual C++和Borland公司的C++Builder。

文章到此结束,如果本次分享的c语言switch语句判断成绩等级和switch case用法举例的问题解决了您的问题,那么我们由衷的感到高兴!