搜档网
当前位置:搜档网 › switch case用法示例

switch case用法示例

switch  case用法示例
switch  case用法示例

C语言——switch case语句

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

switch ( 表达式)

{

case 常量表达式1 :语句1;break;

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

……

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

default:语句n+1;break;

}

说明:

break退出{ }

case后面只能跟一个值(加冒号:),而不能是一个表达式

switch(表达式) 后面没有;(分号)

{ }前后没有;(分号)

switch语句规则

case标签必须是常量表达式(constant Expression)

只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。

case 标签后不能是浮点型数据(如1.0 )

case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。

不要问为什么,C就这规定!我们只需要了解规则,学会应用即可!

猜想原因:浮点型数据不是准确的数据,在机器中只能表示出一个近似值,如:0.1 在机器中存的是0.09999612.... 也可能是0.09999723.... 根据精度不同,数据来源不同,其值是个不确定的数据,因此,不能用CASE来定位

简单例题1:

#include

void main(void)

{

int i=5;

switch(i)

{

case 1: printf("%d",i);

break;

case 2+3: printf("%d",3); break;

default : printf("%d",i); }

}

//程序运行效果是输出:3

经典例题2:

#include

void main(void)

{

switch('A')

{

case 'A': printf("A\n");

break;

case 'B': printf("%d",3); break;

default : printf("%d",7); }

}

//程序运行效果是输出:A

经典例题3:

#include

void main(void)

{

int i=5;

switch(5)

{

case 1: printf("%d",i); break;

case 5: printf("%d",3); break;

default : printf("%d",i); }

}

//程序运行效果是输出:3

switch结构实例(1)

switch 结构实例 switch 结构是另一种形式的选择结构。程序员可以根据一个单精度整形数,字符或逻辑表达式的值来选择执行特定的代码语句块。 switch (switch_expr) case case_expr_1, ???Statement 1Statement 2... Block 1 case case_expr_2 ???Statement 1Statement 2... Block 2 ... otherwise, ???Statement 1Statement 2... Block n end 如果switch_expr 的值与case_expr_1相符,那么第一个代码块将会被执行,然后程序将会跳到switch 结构后的第一个语句。如果switch_expr 的值与case_expr_2相符,那么第二个代码块将会被执行,然后程序将会跳到switch 结构后的第一个语句。在这个结构中,用相同的方法来对待其他的情况。otherwise 语句块是可选的。如果它存在的话,当switch_expr 的值与其他所有的选项都不相符时,这个语句块将会被执行。如果它不存在,且witch_expr 的值与其他所有的选项都不相符,那么这个结构中的任何一个语句块都不会被执行。这种情况下的结果可以看作没有选择结构,直接执行MA TLAB 语言。 如果说switch_expr 有很多值可以导致相同代码的执行,那么这些值可以括在同一括号内,如下所示。如果这个switch 表达式和表中任何一个表达式相匹配,那么这个语句块将会被执行。 switch (switch_expr) case {case_expr_1, case_expr_2, case_expr_3}, ???Statement 1Statement 2... Block 1 otherwise, ???Statement 1Statement 2... Block n end switch_expr 和每一个case_expr 既可以是数值,也可以是字符值。 注意在大多情况下只有一个语句块会被执行。当一个语句块被执行后,编译器就会跳到end 语句后的第一个语句开始执行。如果switch 表达和多个case 表达式相对应,那么只有他们中的第一个将会被执行。 例: 下面的语句用来判断1到10之间的数是奇数还是偶数。它用来说明一系列的case 选项值的应用和otherwise 语块的应用。 switch (value) case {1, 3, 5, 7, 9}, disp('The value is odd.'); case {2, 4, 6, 8, 10}, disp('The value is even.');

switch用法

C语言switch语句的用法详解 C语言还提供了另一种用于多分支选择的switch语句,其一般形式为: switch(表达式){ case 常量表达式1: 语句1; case 常量表达式2: 语句2; … case 常量表达式n: 语句n; default: 语句n+1; } 其语义是:计算表达式的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case 后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。main(){ int a; printf("input integer number: "); scanf("%d",&a); switch (a){ case 1:printf("Monday\n"); case 2:printf("Tuesday\n"); case 3:printf("Wednesday\n"); case 4:printf("Thursday\n"); case 5:printf("Friday\n"); case 6:printf("Saturday\n"); case 7:printf("Sunday\n"); default:printf("error\n"); } } 本程序是要求输入一个数字,输出一个英文单词。但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday 及以后的所有单词。这当然是不希望的。为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。在switch语句中,“case 常量表达式”只相当于一个语句标号,表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。这是与前面介绍的if语句完全不同的,应特别注意。 为了避免上述情况,C语言还提供了一种break语句,专用于跳出switch语句,break 语句只有关键字break,没有参数。在后面还将详细介绍。修改例题的程序,在每一case语句之后增加break 语句,使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。 main(){ int a; printf("input integer number: "); scanf("%d",&a); switch (a){

in case 用法

in case 用法收藏 in case万一。是连词,引导条件状语从句。也就是说in case后面是一个完整的句子 Take a hat with you in case the sun is very hot. 倘若太阳很利害,你就把帽子戴上。 in case of的of是介词,介词后面只能带名词性质的词,比如名词、代词等。意思和in case 差不多,万一的意思 In case of rain they can't go. 万一下雨,他们就不能去了。 in the case of,就...来说, 关于。意思跟上面两个不一样了。一般表示转而提及另一件事情。比如 In the case of woman,they have more difficulty in their job。就女性来说,她们在工作中会遇到更多的困难 in this case:在这个场合 in that case:(短语)若是那样的话例:YOU don't like this place? In that case, why don't you leave? ===================== (一)in case作短语连词,能引导状语从句。 就其词义和语法职能来分,可引导两种从句。 其一:in case /just in case引导目的状语从句作“以免,以备,以防”等解。如: He takes a torch in case it gets dark before he returns. 他带了手电筒,以备天黑以后回家之用。 I've bought a chicken in case your mother stays to lunch. 我买来一只童子鸡,以备你妈妈留下吃午饭。 I decided to stay at home just in case my friends came round. 我决定留在家里,以防朋友们不期而至。 I'll make some sandwiches in case you feel hungry on the journey. 我会做些三明治,免得你在旅途中饿着。

switch语句练习

1、编写电信客服服务调查反馈信息: 如果 输入0:不满意 输入1:十分满意 输入2:满意 输入3:基本满意 输入其他:我要投诉! 2、根据存款利率计算表,计算所存钱的利率 注意:假定存钱变量为x,要求从键盘输入其值并选择存款方式,计算存款利率并输出显示。 利率计算: (1)3个月 3.10%, (2)6个月3.30% (3)一年 3.50% (4)二年 4.40% (5)三年 5.00% (6)五年 5.50% (7)其他:输入错误。 3、自行创建一个菜单选择项,输入选项,输出结果。 4、从键盘上输入一个百分制成绩score, 输出成绩评定等级: 90以上:优秀 80~90:良好 70~80:中等 60~70:及格 60以下:不及格 5、编一程序,要求实现下面的功能:输入一个实数后,屏幕上显示如下菜单(加粗部分): ************************** 1.输出相反数 2.输出平方数 3.输出平方根 4.退出 *********************** 输入相应选项,输出结果 5、要将“China”翻译成密码。密码规律是:用原来字母的后面第4个字母代替原来的字母。请编写一程序实现。并输出结果。 6、输入一个不大于255的自然数x,计算y=(1+x)/x2。 7、给定一个三位正整数,分别输出它的个位数、十位数和百位数。 8、输入华氏温度F,利用公式C=5/9*(F-32)转换成摄氏温度C,根据转换结果C的不同值,按以下要求给出相应的提示。 C>40时,打印“Hot” 30

incase用法小结

in case用法小结 原题如下: 1. John may phone tonight.I don't want to go out ____ he phones.(NMET 2000,春季) A.as long as B.in order that C.in case D.so that 2.I should stay in the hotel all day _____ there is news of the missing child.NMET 2000上海春季) A.in case B.no matter C.in any case D.even since 3.I don't think I'll need any money but I'll bring some ____ .(NMET 2000)A.at last B.in case C.once again D.in time 以上三题答案尽管相同,但in case在三题中的词义和语法职能并不一样,其用法使人困惑。今不揣浅陋,将以上三种用法以及与in case相关的几个短语用法,一并试予介绍和讨论。拙文拟分两个部分,先介绍各个短语的词义并列举实例;再讨论各个短语用法特点、同项用法的区别以及可转换为其他句型的用法。 (一)in case作短语连词,能引导状语从句。就其词义和语法职能来分,可引导两种从句。其一:in case /just in case引导目的状语从句作“以免,以备,以防”等解。如: He takes a torch in case it gets dark before he returns. 他带了手电筒,以备天黑以后回家之用。 I've bought a chicken in case your mother stays to lunch. 我买来一只童子鸡,以备你妈妈留下吃午饭。 I decided to stay at home just in case my friends came round. 我决定留在家里,以防朋友们不期而至。 I'll make some sandwiches in case you feel hungry on the journey. 我会做些三明治,免得你在旅途中饿着。 Buy one of his paintings now,in case they get more expensive. 现在就买下他的一幅画,以防他的画涨价。 You must be quiet in case the fish are frightened. 其二:in case接条件从句,意为“如果、万一”。如: In case we fail,we won't lose heart.万一我们失败,我们决不会失去信心。 Add more coal in case the weather is cold.如果天气冷,就添些煤吧。 In case you get home before I do,could you start preparing dinner 如果你在我之前到家,你能不能动手做饭 In case they're late,we can always sit in the bar. 要是他们来晚了,我们总可以在酒吧里坐一坐。 In case you were thinking I'd lend any money,I'll tell you now—I won't. 如果你以往认为我总是借钱给你,这回对你说明白:我不借。 Little Melanie,in case you've forgot- ten,hasn't forgiven you. 如果你忘记了,小梅兰妮是不会原谅你的。 (二)in case作副词性短语,常置于句末,表示事先准备或预防的措施,作“以防万一”解。如: She ought to be there in case.他应在那儿等着,以防万一。

switch case用法示例

C语言——switch case语句 switch语句的语法如下(switch,case和default是关键字): switch ( 表达式) { case 常量表达式1 :语句1;break; case 常量表达式2 :语句2;break; …… case 常量表达式n :语句n;break; default:语句n+1;break; } 说明: break退出{ } case后面只能跟一个值(加冒号:),而不能是一个表达式 switch(表达式) 后面没有;(分号) { }前后没有;(分号) switch语句规则 case标签必须是常量表达式(constant Expression) 只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。 case 标签后不能是浮点型数据(如1.0 ) case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。 不要问为什么,C就这规定!我们只需要了解规则,学会应用即可! 猜想原因:浮点型数据不是准确的数据,在机器中只能表示出一个近似值,如:0.1 在机器中存的是0.09999612.... 也可能是0.09999723.... 根据精度不同,数据来源不同,其值是个不确定的数据,因此,不能用CASE来定位 简单例题1:

#include void main(void) { int i=5; switch(i) { case 1: printf("%d",i); break; case 2+3: printf("%d",3); break; default : printf("%d",i); } } //程序运行效果是输出:3 经典例题2: #include void main(void) { switch('A') { case 'A': printf("A\n"); break; case 'B': printf("%d",3); break; default : printf("%d",7); } } //程序运行效果是输出:A 经典例题3: #include void main(void) { int i=5; switch(5) {

case的两种表现方式和使用

CASE语句 在某些方面,CASE语句是几种不同语句的一种等价物,这些语句来自你之前学过的语言。在过程化的编程语言中,下面的语句与CASE的功能相似: Switch: C、C++、C#、Delphi Select Case:Visual Basic Do Case:Xbase Evaluate:COBOL 我可以肯定还有其他语句,它们来自我多年前以这种或那种形式使用的语言。在许多方面,在T-SQL中使用CASE语句的最大缺陷是置换运算符而不是流控制语句。 书写CASE语句的方法不止一种:可以使用输入表达式或布尔表达式。第一种选择是可以使用一个输入表达式,将它与每一个WHEN子句中使用的值进行比较。SQL Server将其视为简单CASE: 1.CASE 2.WHEN THEN 3.[...n] 4.[ELSE ] 5.END 第二种选择是为每个WHEN子句提供一个表达式(计算结果为TRUE/FALSE)。文档将其视为搜索CASE: 1.CASE 2.WHEN THEN 3.[...n] 4.[ELSE ] 5.END 或许CASE最大的好处是可以在SELECT语句里"内联"地(即,作为完整的部分)使用它。这一功能绝对是非常强大的。 1. 简单CASE 简单CASE使用一个可以得到布尔值结果的表达式。下面看一个例子: https://www.sodocs.net/doc/2e14120639.html,E AdventureWorks2008; 2.GO 3. 4.SELECT TOP 10 SalesOrderID, SalesOrderID % 10 AS 'Last Digit', Position = 5.CASE SalesOrderID % 10 6.WHEN 1 THEN 'First' 7.WHEN 2 THEN 'Second' 8.WHEN 3 THEN 'Third'

2014-第三章上机实验2-switch语句习题-答案

2014-第三章上机实验2-switch 语句习题-答案

2. 给出一个百分制的成绩,要求输出成绩等级'A','B','C','D','E'。90分以上为'A',80~89分为'B',70~79分为'C',60z69分为'D',60分以下为'E'。 解1 #include int main() { int x,y; cout<<"请输入学生成绩"<>x; y=x/10; if (x<0 || x>100) cout<<"输入错误"<

C++程序设计(第2版) break; case 8:cout<<"B"< int main()

C++程序设计(第2版) { int x,y; cout<<"请输入学生成绩"<>x; y=x/10; if (x==100) y=9; //剔除x=103之类出现10的情况 switch(x/10) { case 9:cout<<"A"<

switch的用法总结大全

switch的用法总结大全 想了解switch的用法么?今天给大家带来了switch的用法,希望能够帮助到大家,下面就和大家分享,来欣赏一下吧。 switch的用法总结大全 switch的意思 n. 开关,转换,转换器,软鞭子,[信]接线台 vt. vi. 转变,改变,转换,关闭电流,鞭打 vt. 转换,挥动(棍棒、鞭子等),迅速转动,鞭打 vi. 交换,调换 变形:过去式: switched; 现在分词:switching; 过去分词:switched; switch用法 switch可以用作动词 switch用作名词时意思是“开关”“转换”,用作动词时意思是“拧开关”“转变”“转换”,指通过某种措施或办法使某事物改变或改换其原有的位置、名称或运行方式等,引申可表示“挥动某物打某人”“打开”。

switch可用作及物动词,也可用作不及物动词。用作及物动词时,接名词或代词作宾语,也可接以动词不定式充当补足语的复合宾语。 switch用作动词的用法例句 No, hold it a second, switch that to roast chicken.不,等一等,把那个换成烤子鸡。 Our glasses have been switched--this is mine.咱们的玻璃杯对调了--这个是我的。 Nobody wants to switch back to the old system.谁也不希望回复到旧制度。 switch用法例句 1、The spokesman implicitly condemned the United States policy switch. 发言人含蓄地谴责了美国政策上的转变。 2、Every time I switch on the TV, theres football. Its overkill. 我每次打开电视都是足球节目,真是受不了。 3、Prince Edward threw the switch to light the illuminations. 爱德华王子按动开关亮起彩灯。

switch语句的用法

Switch语句的一般形式为: Switch(表达式) { case 常量表达式1: 语句1;break; case 常量表达式2: 语句2; break; … case 常量表达式n: 语句n; break; default: 语句;break; } 意思是先输入表达式的值,再输出和case 后的常量表达式比较,若不在case的语句中,则执行default后的语句;若与某一个常量表达式相等,则从这个表达式后的语句开始执行,并执行该case后的语句。 与if语句的不同:If语句中若判断为真则只执行这个判断后的语句,执行完就跳出if语句,不会执行其他if语句; 而switch语句后有break语句,其含义为结束当前循环,不再执行该循环体。 例题:从键盘中输入0~6,并输出星期几。 #include #include using namespace std; int main() { int day;

cin>>day; switch(day) { case 0: cout<<"Sunday"<

switch语句用法详解-switch语句举例

switch语句用法详解|switch语句举例 switch语句用法详解一般形式: switch(表达式){ case 常量表达式1: 语句1; case 常量表达式2: 语句2; … case 常量表达式n: 语句n; default: 语句n+1; } 意思是先计算表达式的值,再逐个和case 后的常量表达式比较,若不等则继续往下比较,若一直不等,则执行default后的语句; 若等于某一个常量表达式,则从这个表达式后的语句开始执行,并执行后面所有case后的语句。 与if语句的不同:If语句中若判断为真则只执行这个判断后的语句,执行完就跳出if语句,不会执行其他if语句; 而switch语句不会在执行判断为真后的语句之后跳出循环,而是继续执行后面所有case 语句。在每一case语句之后增加break 语句,使每一次执行之后均可跳出switch 语句,从而避免输出不应有的结果。 inta;printf(“input integer number: “);scanf(“%d”,&a);switch(a){case1:printf(“Monday”);break;case2:printf(“Tues day”);break;case3:printf(“Wednesday”);break;case4:printf(“Thursday”);break;c ase5:printf(“Friday”);break;case6:printf(“Saturday”);break;case7:printf(“Sunda

y”);break;default:printf(“error”);}注意: 1.case后的常量表达式不能相同; 2. case后的语句可以有多个且不用花括号括起来; 3.case和default子句的先后顺序可以先后变动,default子句可以省略不用;感谢您的阅读!

If、switch选择语句

一。if语句的使用方法 if语句用于判断条件并按照相应的条件执行不同的代码块,if语句包括多种呈现形式,这些形式分别是if、if else、if else if。 1.声明if语句 注意:if语句的条件表达式最终是一个布尔类型 if语句的语法如下所示。 if(布尔值) 程序语句 当布尔值为true,则会执行程序语句,当布尔值为false时,程序会跳过执行的语句执行,示例代码如下所示。 if (true)//使用if语句 { console.writeline("ture");//为true的代码块 } 上述代码首先会判断if语句的条件,因为if语句的条件为true,所以if语句会执行大括号内的代码,程序运行会输出字符串true,如果将if内的条件改为false,那么程序将不会执行大括号内的代码,从而不会输出字符串true。 2.声明if else语句 if else语句的语法如下所示。 if(布尔值) 程序语句1 else 程序语句2 同样,当布尔值为true,则程序执行程序语句1,但当布尔值为false时,程序则执行程序语句2,示例代码如下所示。 if (true)//使用if语句判断条件 {

console.writeline("ture");//当条件为真时执行语句 } else//如果条件不成立则执行 { console.writeline("false");//当条件为假时执行语句 } 上述代码中if语句的条件为true,所以if语句会执行第一个大括号中间的代码,而如果将true改为false,则if语句会执行第二个大括号中的代码。 3.声明if else if语句 当需要进行多个条件判断是,可以编写if else if语句执行更多条件操作,需要注意的是if else if语句一个整体,当条件匹配满足之后就停止,也就是说这个整体只会执行一个条件满足的语句,示例代码如下所示。 if (month == "12")//判断month是否等于12 { console.writeline("winter");//输出winter } else if (month == "7")//判断month是否等于7 { console.writeline("summer");//输出summer } else if (month == "3")//判断month是否等于3 { console.writeline("spring");//输出spring } else//当都不成立时执行 { console.writeline("we don’t have this month");//输出默认情况

C语言中switch的应用

C语言中switch的应用 程序思想: C++编程灵活简单,我们只要有自己的对设计目标的整体思想,其余的属于添砖加瓦,比如: 此次计算器的编程设计可能用到“switch()”可能会达到简单,操作领会直白等优点;可能会用到哪几种数据类型,他们用来控制什么,实现啥功能,首先我们可以定义主要的参数和类型,其余缺少的后继添加弥补…… 或者我们对于更复杂的编程我们可以画流程图,实时的同步出自己的思想。因此,就我个人而言,多联系,多试试,归纳与敢于实践是永不挫败的必胜之心!(加油:IT行业欢迎你) 计算器程序代码: #include<> main() { float a,b; float jia,jian,cheng,chu; char c; printf("请输入计算的两个数值【任意数且仅限加减乘除】!!!\n"); printf(" 格式:1+1=\n"); printf(" 1-1=\n"); printf(" 1*1=\n"); printf(" 1/1=\n"); printf("\n"); printf("\n"); printf("您输入的是:"); scanf("%f%c%f",&a,&c,&b); jia=a+b; jian=a-b; cheng=a*b; chu=a/b; switch(c) { case '+':printf("%\n",jia);break; /*控制小数点的尾数:保留后三位*/ case '-':printf("%\n",jian);break; case '*':printf("%\n",cheng);break; case '/':printf("%\n",chu);break; } } 运行及结果:

教学设计《switch语句——时间的朋友》

Switch语句——时间的朋友 一、教材分析 本课选自初中信息技术初二年级的内容,本册注重对于学生编程思维模式的培养以及编程语言的掌握和运用。C语言是目前流行的编程语言之一,因其简介的语法和强大的功能而被人们喜爱。教师活动以活动为主,帮助学生创建有趣的情景活动,以此来提高学生的学习兴趣,结合基本的编程思想,让学生喜欢上编程,利用小组活动、合作探究来增加学生的自主合作意识,引导学生表达与交流,提高学生的自主学习意识和探究能力。 二、学情分析 本节课的内容是在学生已经初步对C语言有了了解并加以运用的基础上展开的。能够掌握C语言程序编写的变量语句的定义声明,掌握相关的变量类型。因此,在本课的教学中,教师会引导学生进一步加深对C语言的认识和实际应用。通过活动设置,由易到难,充满乐趣的同时,充分调动学生的学习兴趣,激发学生的求知欲和探究意识。 三、教学方法 情境法、小组讨论法、任务驱动法 四、教学目标 1.知识与技能:掌握switch语句的一般表达式及流程图转换。 2.过程与方法:通过解决实际问题,掌握switch表达式在编程过程中的使用方法及相关运算符的应用。 3.情感态度与价值观:通过利用编程语言解决实际问题,切实体会人工智能环境下工作效率的高效,增强学生对编程语言学习的积极性、主动性,增强学生对人工智能探索的求知欲和好奇心。 五、教学重难点 重点:掌握switch语句的表达式及功能。 难点:解决实际问题中switch语句的定义及与流程图之间的转换。 六、教学过程 A、项目指导: 1.创设情境,导入新课 视频导入(罗振宇跨年演讲——《时间的朋友》) 关于演讲中提到的发展、创新、经济、教育等等问题都离不开一个词“时间”。罗胖所提到的“躬身入局”渗透于社会上每一个行业的基本盘,当然也适用于我们今天的学习,希望大家经过这节课后也能做自己“时间的朋友”,让我们一起来开启时间之旅! 2.微项目活动建议

c语言中switch的用法

c语言中switch的用法 c语言中switch的用法的用法如下:C语言还提供了另一种用于多分支选择的switch语句,其一般形式为:switch(表达式){case 常量表达式1: 语句1;case 常量表达式2: 语句2;…case 常量表达式n: 语句n;default: 语句n+1;}其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。 如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。 【例4-9】01.#include 02.int main(void){03. int a;04. printf("input integer number: ");05. scanf("%d",&a);06. switch (a){07. case 1:printf("Monday\n");08. case 2:printf("Tuesday\n");09. case 3:printf("Wednesday\n");10. case 4:printf("Thursday\n");11. case 5:printf("Friday\n");12. case 6:printf("Saturday\n");13. case 7:printf("Sunday\n");14. default:printf("error\n"); 但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday 及以后的所有单词。 这当然是不希望的。 为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。 在switch语句中,“case 常量表达式只相当于一个语句标号,表

switch语句的用法

if语句处理两个分支,处理多个分支时需使用if-else-if结构,但如果分支较多,则嵌套的if语句层就越多,程序不但庞大而且理解也比较困难.因此,C语言又提供了一个专门用于处理多分支结构的条件选择语句,称为switch语句,又称开关语句.使用switch语句直接处理多个分支(当然包括两个分支).其一般形式为: 引用 switch(表达式) { case 常量表达式1: 语句1; break; case 常量表达式2: 语句2; break; …… case 常量表达式n: 语句n; break; default: 语句n+1; break; } switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句n+1,然后退出switch语句,程序流程转向开关语句的下一个语句.如下程序,可以根据输入的考试成绩的等级,输出百分制分数段: 引用 switch(grade) { case 'A': /*注意,这里是冒号:并不是分号;*/ printf("85-100\n");

break; /*每一个case语句后都要跟一个break用来退出switch 语句*/ case 'B': /*每一个case后的常量表达式必须是不同的值以保证 分支的唯一性*/ printf("70-84\n"); break; case 'C': printf("60-69\n"); break; case 'D': printf("<60\n"); break; default: printf("error!\n"); } (2) 如果在case后面包含多条执行语句时,也不需要像if语句那样加大括号,进入某个case后,会自动顺序执行本case后面的所有执行语句.如: 引用 { case 'A': if(grade<=100) printf("85-100\n"); else printf("error\n"); break; …… (3) default总是放在最后,这时default后不需要break语句.并且,default 部分也不是必须的,如果没有这一部分,当switch后面圆括号中表达式的值与所有case后面的常量表达式的值都不相等时,则不执行任何一个分支直接退出switch语句.此时,switch语句相当于一个空语句.例如,将上面例子中switch 语句中的default部分去掉,则当输入的字符不是"A","B","C"或"D"时,此switch语句中的任何一条语句也不被执行. (4) 在switch-case语句中,多个case可以共用一条执行语句,如:

SWITCH语句格式

被判断的对象等于哪个case值就执行哪个case分支,不等于任何case值就执行default 分支。 default分支是可选项。 switch语句用于表达一类特殊的多分支问题,即被判断的对象只有一个、该对象有多个可能的值、这些值可以一一列出的问题。 任何switch语句都可以换成多分支if语句,但反过来不一定可以。 switch语句还有如下使用格式: switch(变量或含变量的表达式) { case 值1 : case 值2 : 被判断的对象等于 case 值3 : 值1或值2或值3 分支1; 时执行分支1 break; case 值4: 被判断的对象等于值4 case 值5: 或值5时执行分支2 分支2; break; ...... default: 分支n+1; } 【例1】写一个程序,当输入1时输出星期一,输入2时输出星期二,输入3时输出星期三......(用switch语句)。篇二:c语言“switch语句”的使用技巧 c语言“switch语句”的使用技巧 steve 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语句以及

c语言switch的用法

c语言switch的用法 switch 是一个开关语句,和case配套使用,和if else 判断语句差不多,switch 语句是用于多分支语句进行条件判断下面小编就来为大家介绍一下c语言switch的用法。用于多分支选择的switch 语句,其一般形式为:switch(表达式){ case 常量表达式1: 语句1; case 常量表达式2: 语句2; case 常量表达式n: 语句n; default: 语句n+1; } 其语义是:计算表达式的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。【例4-9】#include stdio.h int main(void){ int a; printf(input integer number: );scanf(%d,switch (a){case 1:printf(Monday\n);case 2:printf(Tuesday\n);case 3:printf(Wednesday\n); case 4:printf(Thursday\n); case 5:printf(Friday\n);case 6:printf(Saturday\n);case 7:printf(Sunday\n); default:printf(error\n); } return 0; } 本程序是要求输入一个数字,输出一个英文单词。但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday 及以后的所有单词。这当然是不希望的。为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。在switch语句

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”);

相关主题