首页技术switch语句的例子,switch函数例子

switch语句的例子,switch函数例子

编程之家2026-06-031183次浏览

大家好,今天来为大家解答switch语句的例子这个问题的一些问题点,包括switch函数例子也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

switch语句的例子,switch函数例子

switch语句的例子有哪些

通过判断学生成绩来展示switch语句的使用,目标:判断学生成绩的等级,90-100分为A级,80-89为B级,70-79为C级,60-69为D级,60以下不及格。

packagemain

import"fmt"

funcmain(){StudentGrade(-50)}

funcStudentGrade(g int){

switch{

switch语句的例子,switch函数例子

caseg>=90&&g<=100:

fmt.Println("A等级")

caseg>=80&&g<90:

fmt.Println("B等级")

caseg>=70&&g<80:

fmt.Println("C等级")

switch语句的例子,switch函数例子

caseg>=60&&g<70:

fmt.Println("D等级")

caseg>=0&&g<60:

fmt.Println("不及格")

default:

fmt.Println("输入的成绩有误!!!")

break

}

}

扩展资料

switch语句使用规则

1、switch语句中的expression是一个常量表达式,必须是一个整型或枚举类型。

2、在一个 switch中可以有任意数量的 case语句。每个 case后跟一个要比较的值和一个冒号。

3、case的constant-expression必须与 switch中的变量具有相同的数据类型,且必须是一个常量或字面量。

4、当被测试的变量等于 case中的常量时,case后跟的语句将被执行,直到遇到break语句为止。

5、当遇到break语句时,switch终止,控制流将跳转到 switch语句后的下一行。

6、不是每一个 case都需要包含break。如果 case语句不包含break,控制流将会继续后续的 case,直到遇到 break为止。

7、一个switch语句可以有一个可选的defaultcase,出现在 switch的结尾。default case可用于在上面所有 case都不为真时执行一个任务。default case中的break语句不是必需的。

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

C语言“switch语句”的使用技巧顾红---- C语言作为国际上流行的计算机语言已经和正在被广大的计算机用户使用。凡是使用过的人都会有同样的感觉——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语句与其它语言中相应语句的区别。尽管在学习和教计算机语言的过程中,我们始终认为语言是相通的,这样便于学习一门新的语言。但是真正要把某一门计算机语言学好,非得掌握它的特点。----这里仅仅是自己在编程实践过程中的一点体会,有错误的地方恳请批评指正。希望对你有帮助!

c语言switch语句 谢谢·!~!~

c语言switch语句谢谢·!~!~表示式就有由一串“数字”和“符号”组成的式子,例如1+2是表示式,12*8-1*99也是表示式。C++

的“符号”除了普通的算术运算+-*/之外还有其他的。

常量表达式就是表示式里面只有常量的式子,比如1+2是常量表达式,如果定义a为常量1,那么a+2也是常量表达式。

如果定义变数a,那么a+2就不是常量表达式。

问题补充:请问选哪个?? case常量表达式!

选择C,D,这两个都是正确的

a:

switch(x)

{

case 1.0:printf("*

");

case 2.0:printf("*

");

}

a错误,case后的表示式必须为整型或者字元型

b:

switch(x)

{

case 1,2:printf("*

");

case 3:printf("*

");

}

b错误,case后的表示式只能有一个,所以case 1,2:是错的

c:

switch(a+b)

{

case 1:printf("*

");

case 1+2:printf("*

");

}

对的,常量(1)是有效的,常量表达式(1+2)是有效的

d:

switch(a+b)

{

case 1:printf("*

");

case 2:printf("*

");

}

对的,常量(1),常量(2)是有效的

求助:c语言switch语句谢谢·!~!~ d是对的

a: case后面必须是整型或者字元型,不可以为浮点型

switch(x)

{

case 1.0:printf("*

");

case 2.0:printf("*

");

}

b:每个case后面的判断式(常量,表示式)必须唯一

switch(x)

{

case 1,2:printf("*

");

case 3:printf("*

");

}

c: case后面不可以为运算式

switch(a+b)

{

case 1:printf("*

");

case 1+2:printf("*

");

}

C语言中switch语句用法(做题)!谢谢! Float machine(float money)switch(money)

{

case(money<200):return money;

case(money>=200&&money<500):return(0.9*money);

case(money>=500&&money<1000):renturn(0.8*money);

case(money>=1000):renturn(0.75*money);

default:return 0;

}

return 0;

}

c语言switch语句题#include<stdio.h>

#include<stdlib.h>

main()

{

int a=21,b=8;

char key='+';

printf("Now number a=%d,b=%d

Please enter a key(+-*/%*)

",a,b);

while(key!='q')

{printf("

");

scanf("%c",&key);

switch(key)

{

case'+':{printf("%d+%d=%d

",a,b,a+b); break;}

case'-':{printf("%d-%d=%d

",a,b,a-b); break;}

case'x':{printf("%d X%d=%d

",a,b,a*b); break;}

case'/':{printf("%d/%d=%d

",a,b,a/b); break;}

case'%':{printf("%d%%%d=%d

",a,b,a%b); break;}

case'*':{printf("%d*%d=%d

",a,b,a*b); break;}

default: break;

}

}

system("pause");

}

java switch语句、C语言switch语句和c++switch语句的区别是啥?在Java和C++中,switch语句表示有多种条件可供选择,在Java和C++中用法基本相同。

switch语句中的每个case,要用break,return或者throw来进行结束。

Java和C++中switch可以修饰的资料型别稍微不同:

一、Java

1. byte、char、short、int四种基本型别以及它们的包装类(需要Java5.0/1.5以上版本支援)都可以用于switch语句。

2. long、float、double、boolean四种基本型别以及它们的包装类(在Java所有版本中)都不能用于switch语句。

3. enum型别,即列举型别可以用于switch语句,但是要在Java5.0(1.5)版本以上才支援。

4.所有型别的物件(包括String类,但在Java5.0/1.5以上版本中,该项要排除byte、char、short、int四种基本型别对应的包装类)都不能用于switch语句。

二、C++

1. char、short、int、long、bool四种基本型别都可以用于switch语句。

2. float、double都不能用于switch语句。

3. enum型别,即列举型别可以用于switch语句。

4.所有型别的物件都不能用于switch语句。

C语言谁用switch语句帮我写个程式,谢谢!#include<stdio.h>

main()

{

int a,b,c,d,e;

scanf("%d%d%d",&a,&b,&c);

d=a>b? a:b;

e=d>c? d:c;

if(a>b) printf("%d%d%d",b,a,e);

else printf("%d%d%d",a,b,e);

}

用switch编写的话比较麻烦,毕竟一个问题要用合适的处理方法

如果说他的格式是这样的:举个例子

switch(x)

{case 1:

switch(y)

{

case 0:c=a++;break;如果是1,执行

case 1:b++;break;

}

case 2: c=a++,z=b++;break;

case 3:a++,b++;

}

C语言 switch语句问题 c语言中好像是不行的,因为c语言中switch只接受整形,也就是整数或者char,在最新版的java和c#中好像是支援使用字串的

C语言switch语句变成#include<stdio.h>

int main()

{

int x;/*分数*/

scanf("%d",&x);

switch(x/10)

{

case 9:printf("优秀

");break;

case 8:printf("良好

");break;

case 7:printf("中等

");break;

case 6:printf("及格

");braek;

default:printf("不及格

");break;

}

return 0;

}

C语言:switch语句用法 case(c>=90&& c<=100):

case后面的必须是一个常量。

你这个可以先将成绩除以10,再用switch

#include"stdio.h"

void main()

{

char c;/*这里别用char,改成:int c,d;*/

scanf("%c",&c);/*这一句也改成scanf("%d",&c);最好前面再加一句,printf("请输入成绩:");在这句后面加一句d=c/10;*/

switch(c)/*然后switch里面用d来判断,switch(d)*/

{

case(c>=90&& c<=100):printf("成绩的等级为:A.

");

break;/*改成: case(10):

case(9):printf("成绩的等级为:A.

");break;

case(c>=80&& c<=89):printf("成绩的等级为:B.

");

break;/*改成:case(8):printf("成绩的等级为:B.

"); break;

}

}

因为90到100之间的数经过除以10再取整以后就变成了9;100/10等于10,又因为case呼叫同一个语句的时候允许就在最后一个语句写上那个语句,而将前面的那几个省略掉,所以case(10):后面的就省掉了,当然写上也不会错。

你的补充的那个,你可以把它分开表示,就像我给你弄的那个case(c>=90&& c<=100):printf("成绩的等级为:A.

");

break;/*改成: case(10):

case(9):printf("成绩的等级为:A.

");break;

虽然有点纠缠不清的感觉,但是希望对解决你的疑问有一定的帮助,呵呵。。。

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

text函数提取年份和月份 excel中提取年月能用的免费proxy网页 免费proxy