Linux C 编程教程第 16 部分:Switch、Break 和 Continue 语句Linux C 编程教程第 16 部分:Switch、Break 和 Continue 语句Linux C 编程教程第 16 部分:Switch、Break 和 Continue 语句Linux C 编程教程第 16 部分:Switch、Break 和 Continue 语句
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

Linux C 编程教程第 16 部分:Switch、Break 和 Continue 语句

在此页

  1. 切换语句
  2. 中断并继续
  3. 结论

我们已经讨论了 C 编程语言中使用的一些基本循环,包括 for、while 和 do...while。大多数人都同意,这些循环基本上可以帮助您在一种或多种条件下重复执行指令。因此,您可以编写更少的代码,同时使其在此过程中更具可读性。

就像这些循环一样,有一些语句可以帮助您在 C 中编写更好的代码。其中一些语句是 Switch、Break、Continue 和 Goto。让我们一一讨论。

开关语句

Switch 基本上是一个接受值的语句,它基于该值执行一段代码。它是一个控制语句,因为它根据输入值更改执行控制。

开关的结构如下:

...
...
...
switch (expression)
{
case const_val_1: //some code
break;
case const_val_2: //some code
break;
case const_val_3: //some code
break;
default: //some code
break;
}
...
...
...

所以在这里,expression 是一个作为输入传递给 switch 语句的值,根据与 expression 值匹配的情况,执行相应的代码。以下是一个工作示例,其中 in 开关使代码不那么复杂并提高了可读性。

#include <stdio.h>

int main()
{
int roll;
printf("Enter a roll number in range of 1 - 5: ");

scanf("%d", &roll);

switch(roll)
{
case 1: printf("name of student is RON");
break;
case 2: printf("name of student is ROGER");
break;
case 3: printf("name of student is SAM");
break;
case 4: printf("name of student is LUCIE");
break;
case 5: printf("name of student is DORN");
break;
default: printf("Entered roll number didn't match any candidate");
break;
}
return 0;
}

所以在这里,用户在输入中输入的卷号被提供给 switch 语句,并执行与匹配的案例对应的代码。

请注意,每个 case 末尾的 break 语句确保在执行匹配的 case 后退出 switch 语句。如果没有 break 语句,则执行流程进入下一个 case。

默认大小写用于确保在没有大小写与 switch 中的值匹配时通知用户。有一个默认案例不是强制性的,但它总是有用的。

此外,由于 default case 通常是 switch 语句中的最后一个 case,因此在它的末尾有 break 也不是强制性的,但被鼓励,因为它被认为是防御性编程(以防万一将来在 default 之后添加更多 case案件)。

中断并继续

请注意,除了 switch 之外,break 语句还可以用于提前退出循环,例如 for、while 和 do...while。

...
...
...
for(i=0; i<10; i++)
{
//statements

if(condition)
break;

//statements
}
...
...
...

现在开始继续,就像 break 导致循环提前退出一样,continue 强制循环的下一次迭代,在 while 和 do...while 的情况下从条件检查开始,在 for 循环的情况下是增量步。

这是一个在 for 循环中使用继续跳过奇数的示例:

...
...
...
for(i=0; i<100; i++)
{
if(i%2)
continue;

//statements
}
...
...
...

请注意,您不能在 switch 内部使用 continue,除非 switch 本身是循环的一部分。

结论

在本教程中,我们讨论了 break、continue 和 switch 语句。请务必在您的系统上尝试我们在本教程中共享的示例或演示代码,以更好地掌握这些概念。如有任何疑问或疑问,请在下面的评论中告诉我们。

©2015-2025 艾丽卡 support@alaica.com