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("Mondayn");

case 2:printf("Tuesdayn");

case 3:printf("Wednesdayn");

case 4:printf("Thursdayn");

case 5:printf("Fridayn");

case 6:printf("Saturdayn");

case 7:printf("Sundayn");

default:printf("errorn");

c语言switch例子 c语言switch的用法

}

return 0;

}

本程序是要求输入一个数字,输出一个英文单词。但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday 及以后的所有单词。这当然是不希望的。为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。在switch语句中,“case 常量表达式”只相当于一个语句标号, 表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。 这是与前面介绍的if语句完全不同的,应特别注意。

为了避免上述情况,C语言还提供了一种break语句,专用于跳出switch语句,break 语句只有关键字break,没有参数。在后面还将详细介绍。修改例题的程序,在每一case语句之后增加break 语句, 使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。

【例4-10】

#include <stdio.h>

int main(void){

int a;

printf("input integer number: ");

scanf("%d",&a);

switch (a){

case 1:printf("Mondayn"); break;

case 2:printf("Tuesdayn"); break;

case 3:printf("Wednesdayn"); break;

case 4:printf("Thursdayn"); break;

case 5:printf("Fridayn"); break;

case 6:printf("Saturdayn"); break;

case 7:printf("Sundayn"); break;

default:printf("errorn");

}

return 0;

}

在使用switch语句时还应注意以下几点:

在case后的各常量表达式的值不能相同,否则会出现错误。

在case后,允许有多个语句,可以不用{}括起来。

各case和default子句的先后顺序可以变动,而不会影响程序执行结果。

default子句可以省略不用。

  

爱华网本文地址 » http://www.aihuau.com/a/206061/94338404.html

更多阅读

c语言if else语句实例 switch case语句的用法

switch case语句的用法――简介介绍switch case语句的用法。switch case语句的用法――工具/原料eclipsevs 2010switch case语句的用法――Java语言switch case语句的用法 1、switch支持部分基本数据类型(primitive data types),如:b

c语言中问号的用法 c语言的问号的用法

C语言运算符中问号是条件运算符(与冒号组合)。该运算符是C语言中唯一一个三目运算符。下面小编就来为大家介绍下c语言的问号的用法。……?……:……式A?B:C值为:若A为真,则B;若A为假,则C。但有一点是值得注意的,那就是问号表达式的结合性

c语言位运算符 c语言位运算符的用法

C语言中位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。下面小编就为大家介绍下c语言位运算符的用法。c语言位运算符的用法如下: 一、位运算符C语

c语言while的用法范例 c语言while的用法

while语句的一般形式为:while(表达式) 语句其中表达式是循环条件,语句为循环体。while语句的语义是:计算表达式的值,当值为真(非0)时, 执行循环体语句。下面小编就为大家介绍下c语言while的用法。用while语句计算从1加到100的值。用传统

c语言default什么意思 c语言default的用法

C语言是一门通用计算机编程语言,应用广泛。下面,小编为大家整理了c语言continue的用法,希望对你有帮助哦!default是C语言中的一个关键字,是switch()语句的配套命令,switch()语句格式如下:MAIN(){INT A;PRINTF("PLEASE INPUT A:N");S

声明:《c语言switch例子 c语言switch的用法》为网友私亽界分享!如侵犯到您的合法权益请联系我们删除