2024年5月26日发(作者:)

c语言中switch语句的用法

C语言中,switch语句是一种流程控制语句,用于根据不同的条件执

行不同的代码块。它通常与case关键字一起使用,用于测试变量或表

达式是否等于某个值,并根据结果执行相应的代码。

switch语句的基本语法格式如下:

```

switch(expression)

{

case constant-expression1:

statement(s);

break;

case constant-expression2:

statement(s);

break;

...

default:

statement(s);

}

```

其中,expression是要测试的变量或表达式,可以是任何基本数据类

型(int、char、short、long等)或枚举类型。case后面跟着一个常

量表达式,表示当expression等于这个常量时执行相应的代码块。每

个case后面必须跟着一个break语句,用于跳出switch结构。如果

expression与所有case后面的常量都不匹配,则执行default后面的

代码块。

下面是一个简单的例子:

```

#include

int main()

{

int num = 2;

switch(num)

{

case 1:

printf("num is 1n");

break;

case 2:

printf("num is 2n");

break;

default:

printf("num is not 1 or 2n");

}

return 0;

}

```

输出结果为:

```

num is 2

```

在这个例子中,我们定义了一个整型变量num,并将其赋值为2。然

后使用switch语句测试num的值,当num等于1时输出"num is

1",当num等于2时输出"num is 2",否则输出"num is not 1 or 2"。

需要注意的是,在每个case后面必须跟着一个break语句,否则程序

将会继续执行下一个case中的代码块。如果不想在某个case中执行

任何操作,可以使用空语句(`;`)来代替具体的语句。

除了常量表达式外,case后面还可以跟着表达式或变量。这时候

switch语句会将expression与每个case后面的表达式或变量进行比

较,如果相等,则执行相应的代码块。例如:

```

#include

int main()

{

int num = 5;

switch(num)

{

case 1+4:

printf("num is 5n");

break;

case 3*2:

printf("num is also 6n");

break;

default:

printf("num is not 5 or 6n");

}

return 0;

}

```

输出结果为:

```

num is 5

```

在这个例子中,我们定义了一个整型变量num,并将其赋值为5。然

后使用switch语句测试num的值,当num等于1+4时输出"num

is 5",当num等于3*2时输出"num is also 6",否则输出"num is

not 5 or 6"。

最后需要注意的是,switch语句中的expression只能是整型或枚举

类型,不能是浮点型、字符型或指针类型。如果需要测试浮点型、字

符型或指针类型的变量,可以使用if语句来代替switch语句。