您的位置:首页 > 资讯攻略 > C语言中的Switch-Case语句示例

C语言中的Switch-Case语句示例

2024-11-12 09:03:05

编程领域中,C语言以其高效灵活的特性被广泛应用。其中,switch case语句是C语言中一种非常实用的控制结构,特别适用于多种条件判断的情况。下面,我们通过详细的例子来探讨C语言中switch case语句的具体用法。

C语言中的Switch-Case语句示例 1

在C语言中,switch语句提供了一种简洁的方式来处理多个可能的条件分支。它替代了多个if-else if-else语句,使得代码更加清晰易读。switch语句通常用于基于一个变量的值来执行不同的代码块。

首先,我们来看一个基本的switch case语句的例子:

```c

include

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之间的数字\n");

break;

return 0;

```

在这个例子中,程序首先提示用户输入一个星期中的天数,然后使用switch语句根据输入的值执行相应的代码块。每个case标签对应一个星期的天数,当输入的值与某个case标签匹配时,程序就会执行该case标签下的语句。如果所有的case标签都不匹配,则执行default标签下的语句。

需要注意的是,在每个case块的末尾,我们使用了break语句。break语句的作用是终止switch语句的执行,并跳出switch块。如果没有break语句,程序会继续执行下一个case块的语句,这通常不是我们想要的结果,称为“case穿透”。

下面是一个更复杂的例子,展示了如何使用switch case语句来处理字符输入:

```c

include

int main() {

char grade;

printf("请输入你的成绩等级 (A, B, C, D, F): ");

scanf(" %c", &grade); // 注意%c前的空格,用于跳过任何之前的空白字符

switch (grade) {

case 'A':

printf("优秀\n");

break;

case 'B':

case 'C':

printf("良好\n"); // 'C'的情况也会执行到这里,因为没有break

// 如果需要在'C'的情况下执行其他代码,可以在这里添加

// 但由于'B'和'C'共享相同的输出,这里不需要额外处理

// 如果要区分,可以在'C'的case中添加新的代码块并使用break

break; // 这个break是为了结束'B'和'C'共享的代码块

case 'D':

printf("及格\n");

break;

case 'F':

printf("不及格\n");

break;

default:

printf("输入无效,请输入A, B, C, D, 或 F\n");

break;

return 0;

```

在这个例子中,程序根据用户输入的字符来打印出相应的成绩等级。注意,'B'和'C'的case块共享了一段相同的代码。这是因为我们在这里不需要区分'B'和'C'的不同处理,所以没有在'C'的case块中使用break语句。但是,如果需要在'C'的情况下执行特定的代码,我们可以在'C'的case块中添加新的代码块并使用break语句来终止执行。

此外,在scanf函数中使用%c格式符时,我们通常在格式符前加上一个空格,这是为了跳过任何之前的空白字符(如换行符)。这是因为,当我们在前一个输入后按下回车键时,换行符会被留在输入缓冲区中,如果不使用空格来跳过它,scanf函数会立即读取这个换行符并导致输入失败。

再来看一个使用枚举类型和switch case语句的例子:

```c

include

enum Color { RED, GREEN, BLUE, YELLOW };

int main() {

enum Color favoriteColor;

printf("请输入你喜欢的颜色 (0: 红色, 1: 绿色, 2: 蓝色, 3: 黄色): ");

scanf("%d", &favoriteColor);

switch (favoriteColor) {

case RED:

printf

相关下载