C语言------switch的用法

本文深入探讨了C语言中的switch语句,一种用于实现多分支选择结构的有效方式。通过实例,文章解释了switch语句的基本语法,包括其对表达式的限制、case标签的使用规则以及default的作用。

switch语句实现多分支选择结构

人之所以痛苦,那是因为你在成长。--------magic_guo

在C语言中选择结构主要是用if语句实现的,但是单轮一个if语句,只由两个分支可供选择,而实际问题常常需要用到多分支的选择。例如学生成绩分类(85分以上为’A’,70-84分为’B’,60-69分为’C’等),人口统计分类(分为老、中、青、少、儿童)等例子。
话不多说,直接上码:
在这里插入图片描述
(1) switch后面括号内的“表达式”,其值得类型应为整数类型(包括字符型)
(2)switch下面的花括号内是一个复合语句,这个复合语句包含若干语句;
(3)case后面跟一个常量(或常量表达式),各个case标号的出现次序不影响执行结果。(default可以先出现,再出现case ‘D’:…,)
(4)每一个case常量必须互不相同,否则就会出现相互矛盾的现象。

在C语言程序结构里,`break` 关键字有多种使用场景和作用,以下为详细介绍: ### `break` 的基本用法 - **`for` 循环中的 `break`**:在 `for` 循环里,`break` 用于提前终止整个循环。例如,若想在找到某个特定条件时停止循环,便可使用 `break`。比如,要在数组中找到第一个负数时停止循环: ```c #include <stdio.h> int main() { int arr[] = {1, 2, 3, -4, 5}; int i; for (i = 0; i < 5; i++) { if (arr[i] < 0) { break; // 当找到负数时,提前终止循环 } } printf("第一个负数的索引是: %d\n", i); return 0; } ``` - **`while` 循环中的 `break`**:`while` 循环中,`break` 同样用于提前终止循环。例如,要从用户输入中读取整数,直到输入负数为止: ```c #include <stdio.h> int main() { int num; while (1) { printf("请输入一个整数(输入负数结束): "); scanf("%d", &num); if (num < 0) { break; // 输入负数时,终止循环 } } printf("输入结束\n"); return 0; } ``` - **`do-while` 循环中的 `break`**:`do-while` 循环里,`break` 也能提前终止循环。不过,`do-while` 循环至少会执行一次循环体。例如: ```c #include <stdio.h> int main() { int i = 0; do { if (i == 3) { break; // 当 i 等于 3 时,终止循环 } printf("%d ", i); i++; } while (i < 5); printf("\n"); return 0; } ``` - **`switch` 语句中的 `break`**:在 `switch` 语句中,`break` 用于终止 `case` 分支的执行,防止执行流继续流向下一个 `case`。例如: ```c #include <stdio.h> int main() { int choice = 2; switch (choice) { case 1: printf("选择了选项 1\n"); break; case 2: printf("选择了选项 2\n"); break; case 3: printf("选择了选项 3\n"); break; default: printf("无效的选择\n"); } return 0; } ``` ### `break` 的作用 - 提前终止整个循环,让程序跳出当前循环体,继续执行循环外的代码。 - 在 `switch` 语句中,防止 `case` 穿透,保证每个 `case` 分支执行完后能正常退出 `switch` 语句。 ### 示例 下面的示例中,`break` 在嵌套循环里的使用: ```c #include <stdio.h> int main() { int i, j; for (i = 1; i <= 3; i++) { for (j = 1; j <= 3; j++) { if (i == 2 && j == 2) { break; // 当 i 为 2 且 j 为 2 时,终止内层循环 } printf("i = %d, j = %d\n", i, j); } } return 0; } ``` 总结来说,`break` 关键字在C语言程序结构中起着提前终止循环或 `switch` 语句的重要作用,能够优化程序逻辑,提升程序的执行效率 [^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值