c语言 switch语句实例,C语言switch语句

本篇文章帮大家学习c语言switch语句,包含了C语言switch语句使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。

C语言中的switch语句用于从多个条件执行代码。 就像if else-if语句一样。

C语言中switch语句的语法如下:

switch(expression){

case value1:

//code to be executed;

break; //optional

case value2:

//code to be executed;

break; //optional

......

default:

code to be executed if all cases are not matched;

}

C语言中switch语句的规则如下 -

switch表达式必须是整数或字符类型。

case值必须是整数或字符常量。

case值只能在switch语句中使用。

switch case中的break语句不是必须的。这是一个可选项。 如果在switch case中没有使用break语句,则匹配case值后将执行所有后的语句。它被称为通过C语言switch语句的状态。

我们试着通过例子来理解它。假设有以下变量及赋值。

int x,y,z;

char a,b;

float f;

有效的Switch

无效的Switch

有效的Case

无效的Case

switch(x)

switch(f)

case 3;

case 2.5;

switch(x>y)

switch(x+2.5)

case ‘a’;

case x;

switch(a+b-2)

case 1+2;

case x+2;

switch(func(x,y))

case ‘x’>’y’;

case 1,2,3;

C语言中的switch语句的流程图 -

我们来看一个简单的C语言switch语句示例。创建一个源文件:switch-statment.c,其代码如下 -

#include

#include

void main() {

int number = 0;

printf("Enter a number:");

scanf("%d", &number);

switch (number) {

case 10:

printf("number is equals to 10\n");

break;

case 50:

printf("number is equal to 50\n");

break;

case 100:

printf("number is equal to 100\n");

break;

default:

printf("number is not equal to 10, 50 or 100\n");

}

}

执行上面示例代码,得到以下结果 -

Enter a number:88

number is not equal to 10, 50 or 100

执行第二次,结果如下 -

Enter a number:50

number is equal to 50

请按任意键继续. . .

switch语句直通到尾

在C语言中,switch语句是通过的,这意味着如果在switch case中不使用break语句,则匹配某个case之后的所有的case都将被执行。

我们来试试通过下面的例子来了解switch语句的状态。创建一个源文件:switch-fall-through.c,其代码如下所示 -

#include

#include

void main() {

int number = 0;

printf("enter a number:");

scanf("%d", &number);

switch (number) {

case 10:

printf("number is equals to 10\n");

case 50:

printf("number is equal to 50\n");

case 100:

printf("number is equal to 100\n");

default:

printf("number is not equal to 10, 50 or 100\n");

}

}

执行上面示例代码,得到以下结果 -

enter a number:10

number is equals to 10

number is equal to 50

number is equal to 100

number is not equal to 10, 50 or 100

请按任意键继续. . .

从上面的输出结果中,可以清楚地看到,当匹配 number = 10 之后,由于没有break语句,其它后面的语句也打印执行了。

你可能感兴趣的:(c语言,switch语句实例)