switch语句的用法
c语言switch的用法举例

c语言switch的用法举例C语言中Switch的用法举例一、介绍在C语言中,Switch是一种流程控制语句,它可以根据不同的情况选择性地执行不同的代码块。
本文将通过多个实际例子详细讲解Switch的用法。
二、基本语法Switch语句由一个表达式和多个Case标签组成。
表达式的值会与每个Case标签进行比较,如果匹配成功,相应的代码块将被执行。
如果没有匹配成功的Case 标签,则可以使用默认情况(Default)来执行相应代码块。
下面是Switch语句的基本语法:```switch (expression) {case constant1:// 代码块1break;case constant2:// 代码块2break;...default:// 默认代码块}```三、示例1:星期几转换假设我们有一个应用程序需要根据数字转换为对应的星期几名称。
以下是一个实际案例:```c#include <stdio.h>int main() {int day;printf("请输入数字(1-7)代表星期几:");scanf("%d", &day);switch (day) {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;case 7:printf("星期日\n");break;default:printf("输入无效,请输入1-7之间的数字。
switch语句的用法例子

switch语句的用法例子switch 语句是一种可以替代多个 if- else -if 语句的条件分支语句,它将每个条件转换成一个可比较的值。
switch 语句可以判断一个表达式的值,并根据这个值执行不同的语句。
它可以接受 int、char、byte 和 short 类型的数据。
switch 语句的语法如下:switch(expression) {case value1:// code to be executed if the expression is equal to value1break;case value2:// code to be executed if the expression is equal to value2break;...default:// code to be executed if no corresponding value is found }以下是 switch 语句的使用实例:int number = 2;switch (number) {case 1:System.out.println("Number is 1");break;case 2:System.out.println("Number is 2");break;case 3:System.out.println("Number is 3");break;default:System.out.println("Number is not 1, 2 or 3");break;}以上例子中,switch(number) 中的表达式被传递到 case 1,case 2 和 case 3,如果这一表达式与 case 中指定的值匹配,那么对应的代码块就会被执行。
如果在所有的 case 和 default 语句中都没有匹配的值,那么程序将停止执行。
switch语句的用法c语言例子

switch语句的用法c语言例子在C语言中,switch语句被广泛用于根据不同的条件执行不同的代码块。
它可以有效地代替复杂的if-else语句,使程序更加简洁和易于理解。
本文将通过例子来介绍switch语句的用法,以帮助读者更好地掌握这个常用的编程结构。
在C语言中,switch语句的基本语法是:```cswitch (expression) {case constant1:code block 1;break;case constant2:code block 2;break;...default:code block;}```下面,我们通过几个具体的例子来说明switch语句的用法。
例子1:判断星期几```c#include <stdio.h>int main() {int day;printf("请输入数字1-7表示星期几:"); scanf("%d", &day);switch (day) {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;case 7:printf("星期日\n");break;default:printf("输入错误!\n");break;}return 0;}```在这个例子中,我们通过输入一个数字(1-7)来判断对应的星期几,并输出相应的结果。
通过switch语句,我们可以根据不同的输入值执行不同的代码块。
c语言switch的用法例子 -回复

c语言switch的用法例子-回复题目:C语言Switch用法示例引言:在C语言中,switch语句是一种非常常用的语句结构,适用于多分支选择的情况。
它可以根据不同的表达式值,执行不同的代码块,提高代码的可读性和效率。
本文将通过几个具体的示例,逐步解释switch的用法。
一、基本语法和用法首先,我们来了解一下switch语句的基本语法和用法。
其语法结构如下所示:cswitch (表达式){case 常量1:语句1;break;case 常量2:语句2;break;其他case...default:默认语句;}上面的代码中,表达式的值会依次与每个case后面的常量进行比较,当匹配到某个常量时,程序会执行该case对应的语句,并在语句结束后使用`break`关键字跳出`switch`语句。
如果没有匹配到任何一个case,则会执行`default`语句。
二、示例1:成绩等级判断假设我们需要根据学生的分数判断其成绩等级,比如90分以上为优秀,80-89分为良好,70-79分为中等,60-69分为及格,60分以下为不及格。
我们可以使用switch语句来实现此功能,代码如下:c#include <stdio.h>int main() {int score;printf("请输入成绩: ");scanf("d", &score);switch (score/10) {case 10:printf("优秀\n");break;case 9:printf("优秀\n");break;case 8:printf("良好\n");break;case 7:printf("中等\n");break;case 6:printf("及格\n");break;default:printf("不及格\n");}return 0;}上述代码中,我们通过对score做除以10的整除操作,得到score的十位数。
switch语句用法举例

switch语句用法举例Switch语句是一种流程控制语句,它允许我们根据变量的不同取值,执行不同的代码块。
下面是一些Switch语句的用法举例: 1. 判断星期几:```javaint dayOfWeek = 3;switch (dayOfWeek) {case 1:System.out.println('星期一');break;case 2:System.out.println('星期二');break;case 3:System.out.println('星期三');break;case 4:System.out.println('星期四');break;case 5:System.out.println('星期五');break;System.out.println('星期六'); break;case 7:System.out.println('星期日'); break;}```2. 判断成绩等级:```javaint score = 80;switch (score / 10) {case 10:case 9:System.out.println('优秀'); break;case 8:System.out.println('良好'); break;case 7:System.out.println('中等'); break;System.out.println('及格');break;default:System.out.println('不及格');}```3. 判断商品折扣:```javaString productType = '电子产品'; double price = 1000.0;switch (productType) {case '食品':System.out.println('没有折扣'); break;case '服装':System.out.println('8折');price *= 0.8;break;case '电子产品':System.out.println('9折');price *= 0.9;default:System.out.println('没有折扣');}System.out.println('价格:' + price);```通过这些例子,我们可以看到Switch语句在实际应用中的灵活性和实用性。
switch语句的用法例子

switch语句的用法例子switch语句用于控制多个不同的分支,并在这些分支之间进行切换。
在计算机编程中,switch语句是一种用于检查给定值和多个匹配选项的方法,如果值匹配某个选项,则会在特定语句(即特定分支)上执行操作。
另外,switch语句还可以使用一些“默认情况”的规则,以覆盖未明确指定的任何值。
以下是switch语句的一个基本示例:switch(expression){case value1 :// 当 expression 的值为 value1 时将被执行break;case value2 :// 当 expression 的值为 value2 时将被执行break;...default :// 当 expression 的值没有和任何 case 匹配时将会被执行}在上述示例中,switch语句用于对表达式expression进行求值,并将其与定义的case(即value1,value2等)进行比较,如果匹配,则会执行与之对应的代码块。
当表达式的值不匹配任何case时,程序会执行default中定义的代码。
考虑下面的用例,它使用switch语句检查用户输入的likelihood数值,并根据数值大小打印出相应的字符串:int likelihood;printf("Please enter a value for likelihood between 0-3");scanf("%d", &likelihood);switch (likelihood) {case 0:printf("Not likely");break;case 1:printf("Possible");break;case 2:printf("Likely");break;case 3:printf("Very Likely");break;default:printf("Invalid entry");break;}上述示例中,如果likelihood的值为0,switch语句就会执行printf(“Not Likely”)语句,并且被break;除此之外,如果likelihood的值为1,则会执行printf(“ Possible”)语句;如果likelihood的值在0-3之外,则会执行defaut语句,这里的printf (“Invalid entry”)语句被执行。
c++switch语句用法

c++switch语句用法C++中的switch语句是一种多分支选择结构,用于根据不同的条件执行不同的代码块。
它的基本用法如下:cpp.switch (expression)。
{。
case value1:// 当expression的值等于value1时执行的代码块。
break;case value2:// 当expression的值等于value2时执行的代码块。
break;...case valueN:// 当expression的值等于valueN时执行的代码块。
break;default:// 当expression的值与前面所有case都不匹配时执行的代码块。
break;}。
在switch语句中,expression是一个表达式,其结果会与每个case后面的值进行比较。
如果expression的值与某个case后面的值相等,那么对应的代码块会被执行。
如果expression的值与所有case后面的值都不匹配,那么会执行default后面的代码块(如果有default的话)。
下面是一些关于switch语句的注意事项和用法示例:1. case后面的值必须是常量表达式,不能是变量或者其他非常量的表达式。
2. 每个case后面的代码块结束时需要使用break语句来跳出switch语句,否则会继续执行后面的代码块(这种现象被称为"case穿透")。
3. 如果某个case后面的代码块没有使用break语句,那么会继续执行后面所有case的代码块,直到遇到break语句或者switch语句结束。
4. 可以在一个case中写多条语句,不过一般建议使用花括号将多条语句括起来,以提高代码的可读性。
5. switch语句可以嵌套在其他switch语句中,形成多层选择结构。
下面是一个简单的示例,演示了switch语句的基本用法: cpp.#include <iostream>。
js中switch用法

js中switch用法switch用法是JavaScript中常用的一种判断语句,它可以根据传入值,进行多分支判断,例如可以根据不同的课程,进行不同的处理。
switch语句的用法如下:1. switch (expression) 。
2. case value1:。
statement;。
break;。
3. case value2:。
statement;。
break;。
4. default:。
statement;。
break;。
5.}。
通常,switch 包含一个 expression 以及一个或多个 case 以及一个可选的 default(默认)。
expression 是 switch 语句的比较内容,value1,value2....都是该比较内容的不同值,当表达式的值与 value1 或 value2 等其他值时,就会执行相应的语句或代码,最后执行 default 中的语句或代码。
break 用于跳出 switch 代码块(break 不是必须的,但是有 break 就不用写 else 语句),如果省略 switch 中的 break,将会导致代码向下执行,没有 break,所有 case 后面的语句都会被执行,直到遇到break 才会中断。
例如:var course = "Math";。
switch (course)。
case "Math":。
console.log("学习数学");。
break;。
case "English":。
console.log("学习英语");。
break;。
case "Chinese":。
console.log("学习语文");。
break;。
default:。
console.log("学习其他课程");。
switch语句的基本用法

switch语句的基本用法
switch语句的基本用法如下:
1、switch后面跟着一个括号,用来接收要进行判断的变量。
2、switch后面的括号中可以包含一个或多个case,每个case后面跟着一个要比较的值和一个冒号。
3、case后面的类型必须与switch中的变量具有相同的数据类型,且必须是一个常量或字面量。
4、当被测试的变量等于case中的常量时,case后跟的语句将被执行,直到遇到break语句为止。
5、当遇到break语句时,switch终止,控制流将跳转到switch语句后的下一行。
6、不是每一个case都需要包含break,如果case语句不包含break,控制流将会继续后续的case,直到遇到break为止。
7、switch语句可以有一个可选的default case,出现在switch的结尾,default case可用于在上面所有case都不为真时执行一个任务。
switch语句用法c语言

C语言中switch语句的用法总结一、switch语句的基本概念switch语句是一种多分支选择语句,它可以根据一个表达式的值,选择执行不同的代码块。
switch语句的一般形式如下:switch (expression) {case constant-expression1 :statement(s);break; /* 可选的 */case constant-expression2 :statement(s);break; /* 可选的 *//* 您可以有任意数量的 case 语句 */default:/* 可选的 */statement(s);}其中,expression是一个整型或枚举类型的表达式,它的值会与每个case后面的常量表达式进行比较,如果相等,则执行该case后面的语句,直到遇到break语句或switch语句结束为止。
如果没有任何一个case匹配,则执行default后面的语句,如果没有default,则不执行任何语句。
二、switch语句的使用规则在使用switch语句时,需要注意以下几个规则:switch语句中的expression必须是一个整型或枚举类型的表达式,不能是浮点型、字符串型或布尔型。
case后面的constant-expression必须是一个常量或字面量,不能是变量或表达式,且必须与expression具有相同的数据类型。
case后面的常量表达式不能重复,否则会导致编译错误。
case和default只起标号的作用,它们本身不控制程序流程,只有break语句才能跳出switch语句。
不是每一个case都需要包含break语句,如果没有break语句,则程序会继续执行后续的case,直到遇到break为止,这称为case穿透现象。
default可以省略,也可以放在任何位置,但建议放在最后,以便处理其他情况。
三、switch语句的优缺点switch语句相比于if-else语句,有以下几个优点:switch语句结构清晰,易于阅读和理解。
switch 循环语句的用法

switch 循环语句的用法
switch循环语句是一种常用的控制结构,用于在多个选项之间进行选择。
它的基本用法如下:
switch (expression) {
case value1:
//代码块1
break;
case value2:
//代码块2
break;
case value3:
//代码块3
break;
default:
//默认代码块
break;
}
在switch循环语句中,expression是要测试的表达式,可以是任何数据类型。
接下来是一系列的case语句,每个case语句都包含一个值和一个代码块。
如果expression的值与某个case语句的值匹配,那么该case语句包含的代码块将被执行。
如果没有任何一个case 语句的值与expression的值匹配,那么将执行默认代码块。
switch循环语句的用法非常灵活,可以用于许多不同的情境。
例如,可以用它来处理用户输入、根据日期或时间进行操作、根据条件执行不同的代码块等等。
总之,掌握switch循环语句的用法对于编写高效的程序非常重要。
switch的用法总结大全switch语句的用法

switch的用法总结大全switch语句的用法n.开关,转换,转换器,软鞭子,[信]接线台vt.&vi.转变,改变,转换,关闭电流,鞭打vt.转换,挥动(棍棒、鞭子等),迅速转动,鞭打vi.交换,调换变形:过去式:switched;现在分词:switching;过去分词:switched;No,holditasecond,switchthattoroastchicken.不,等一等,把那个换成烤子鸡。
Ourglasseshavebeenswitched--thisismine.咱们的玻璃杯对调了--这个是我的。
Nobodywantstoswitchbacktotheoldsystem.谁也不希望回复到旧制度。
1、ThespokesmanimplicitlycondemnedtheUnitedStatespolicyswitch.发言人含蓄地谴责了美国政策上的转变。
我每次打开电视都是足球节目,真是受不了。
3、PrinceEdwardthrewtheswitchtolighttheilluminations.爱德华王子按动开关亮起彩灯。
Hotwaterfine.Flipswitch.Waithalfhour.Takeshower.Flipswitchoff.——TheKarateKid热水器好了。
开关跳闸,等半个小时,然后冲凉,关掉开关。
——《功夫梦》一、你知道switch有几种含义吗?n.1.开关,电闸,转换asmalldevicethatyoupressormoveupanddowninordertoturnalightorpieceofelectricalequipmento nandoffHewasfeelingaboutinthedarkfortheelectriclightswitch.他在黑暗中摸索着找电灯开关。
2.(软的)枝条,鞭子athinstickthatbendseasilyHandmethatswitch.把鞭子递给我。
c语言 switch语句的用法

C语言中switch语句的用法一、概述C语言中的switch语句是一种多分支选择结构,它可以根据不同的情况执行不同的代码块。
switch语句通常用于替代多个if-else语句,使程序更加清晰和简洁。
二、基本语法switch语句的基本语法格式如下:```switch (表达式){case 值1:语句序列1;break;case 值2:语句序列2;break;...default:默认语句序列;}```其中,表达式是一个常量表达式,值1、值2等为case标签,可以是整数、字符或枚举类型的常量。
三、执行流程在执行switch语句时,程序会先计算表达式的值,然后与每个case 标签的值进行比较,如果找到值相等的case标签,就会执行相应的语句序列,并且遇到break时跳出switch语句;如果没有找到匹配的case标签,则执行default语句序列。
若没有default标签,程序将跳过switch语句继续执行下面的代码。
四、示例下面是一个简单的示例,展示了switch语句的用法:```c#include <stdio.h>int m本人n(){int day = 3;switch (day){case 1:printf("Monday\n");break;case 2:printf("Tuesday\n");break;case 3:printf("Wednesday\n");break;default:printf("Other\n");}return 0;}```上面的示例中,根据变量day的值执行不同的代码块,输出星期三。
五、注意事项1. case标签的值必须是一个常量表达式,不能是变量或表达式。
2. 每个case标签后面的语句序列都需要跟上break语句,否则会继续执行下一个case标签的语句序列。
3. default标签是可选的,用于处理除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语句中,case 常量表达式只相当于一个语句标号,表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。
java switch用法举例

主题:Java switch用法举例内容:1. 介绍Java中switch语句的基本用法在Java中,switch语句是一种用于在多个选项中进行选择的控制流语句。
它可以替代使用多个if-else语句的情况,能够使代码更加简洁清晰。
switch语句通常与case和default标签一起使用,以实现对不同情况的处理。
2. switch语句的语法结构switch语句的基本语法结构如下:```javaswitch (表达式) {case 值1:// 执行代码块1break;case 值2:// 执行代码块2break;// ...default:// 默认执行的代码块}```3. switch语句的使用示例下面通过几个具体的示例来演示switch语句的用法:```javaint choice = 2;String result = "";switch (choice) {case 1:result = "选择了1";break;case 2:result = "选择了2";break;case 3:result = "选择了3";break;default:result = "无效选择";}System.out.println(result);```在这个例子中,根据choice的值,程序会进入对应的case分支,执行相应的代码块,并在break语句处跳出switch语句。
4. 注意事项在使用switch语句时,需要注意以下几点:- switch语句中的表达式可以是整数、字符或字符串。
- case标签后的值必须是常量表达式,而且值的类型必须与表达式的类型相同。
- 每个case分支结束后都要使用break语句,以避免执行其他分支的代码块。
5. switch语句的性能及适用场景相比于使用多个if-else语句,switch语句可以提高代码的执行效率。
C语言switch语句

C语言switch语句C语言中的switch语句。
在C语言中,switch语句是一种非常有用的控制语句,它可以根据表达式的值来选择不同的执行路径。
在本文中,我们将深入探讨switch语句的用法、语法和一些最佳实践。
语法。
switch语句的基本语法如下所示:```c。
switch (expression)。
{。
case value1:// 代码块1。
break;case value2:// 代码块2。
break;...default:// 默认代码块。
}。
```。
在这个语法中,expression是一个表达式,它的值将会被用来和每个case的值进行比较。
如果expression的值和某个case的值相等,那么对应的代码块将会被执行。
如果没有一个case的值和expression的值相等,那么将会执行default代码块(如果有的话)。
值得注意的是,每个case后面都要有一个break语句,用来跳出switch语句。
如果没有break语句,那么程序将会继续执行下一个case的代码块,直到遇到break语句为止。
使用场景。
switch语句通常用于对一个变量的不同取值进行判断,并执行相应的代码块。
这种情况下,switch语句比一系列的if-else语句更加清晰和简洁。
例如,我们可以使用switch语句来根据用户输入的数字来执行不同的操作:```c。
int choice;printf("请输入一个数字,");scanf("%d", &choice);switch (choice)。
{。
case 1:printf("执行操作1\n");break;case 2:printf("执行操作2\n");break;case 3:printf("执行操作3\n");break;default:printf("输入无效\n");}。
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",&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");}return 0;}本程序是要求输入一个数字,输出一个英文单词。
但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday 及以后的所有单词。
java中switch的用法

java中switch的用法
Switch语句是Java语言中非常常用的一种语句形式。
它可以根据某个
条件来执行不同的程序,从而节约时间和空间。
Switch语句用法:switch(变量){case 条件1: 动作1;break case 条件2: 动作2;break case 条件3: 动作3;break //....以此类推,一直到case 开头
的最后一行 default: 如果没有任何条件满足时要执行的动作,本句可以省略}
以上就是switch语句的用法,它的使用很简单。
首先需要为变量赋值,其值将作为判断的依据,如果没有指定的变量,则可以去除switch的
括号。
然后,开始写case语句,按照规范,case和break必须成对出现。
最后,要书写default语句,即假如没有case满足要求时要执行的动作,如果想要省略,也可以跳过不写。
Switch语句可以用于诸如打印空格、计算分数、比较字符串、实现简
单的计算器等一些简单的功能的设计和实现,这些任务使用Switch语
句都可以快速完成或者清晰地表达出程序的思想。
此外,Switch语句
有一个重要的重要的优势——效率高。
它的理论效率是O(1),而if-else语句的理论效率是O(n),数量级之间的差别使得Switch语句要
比if-else条件判断语句有很多优势。
总结以上,switch是一种语法简单、使用方便、效率高、应用广泛的语句,它可以极大提高程序的可读性与效率,适用于数据范围确定的判断,是一种实用的编程工具。
c语言 switch用法

c语言 switch用法(实用版)目录1.C 语言中的 switch 用法概述2.switch 语句的基本结构3.switch 语句的执行流程4.switch 语句的注意事项正文C 语言中的 switch 用法概述在 C 语言中,switch 语句是一种多分支选择结构,它允许根据一个表达式的值来执行不同的代码块。
switch 语句可以提高代码的可读性和可维护性,特别是在需要根据不同条件执行不同操作的情况下。
switch 语句的基本结构switch 语句的基本结构如下:```switch (expression) {case constant1:// code to be executed if expression is equal to constant1;break;case constant2:// code to be executed if expression is equal to constant2;break;// you can have any number of case statementscase constantN:// code to be executed if expression is equal to constantN;break;default:// code to be executed if expression doesn"t match any constant;}```switch 语句的执行流程当程序执行到 switch 语句时,它首先计算表达式的值。
然后,根据表达式的值,程序会跳转到对应的 case 标签所在的代码块。
如果在多个case 标签中,表达式的值都匹配,那么程序会按照 case 标签的顺序依次执行这些代码块。
当遇到 break 语句时,程序会跳出 switch 语句。
如果没有匹配的 case 标签,程序会执行 default 标签中的代码(如果提供了 default 标签)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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可以共用一条执行语句,如:
引用
……
case 'A':
case 'B':
case 'c':
printf(">60\n");
break;
……
在A,B,C3种情况下,均执行相同的语句,即输出">60".
(5) 最开始那个例子中,如果把每个case后的break删除掉,则当greak='A'时,程序从printf("85-100\n")开始执行,输出结果为:
引用
85-100
70-84
60-69
<60
error
这是因为case后面的常量表达式实际上只起语句标号作用,而不起条件判断作用,即"只是开始执行处的入口标号".因此,一旦与switch后面圆括号中表达式的值匹配,就从此标号处开始执行,而且执行完一个case后面的语句后,若没遇到break语句,就自动进入下一个case继续执行,而不在判断是否与之匹配,直到遇到break语句才停止执行,退出break语句.因此,若想执行一个case分之后立即跳出switch语句,就必须在此分支的最后添加一个break语句.。