嵌入式-C语言中的break,continue语句,goto语句

发布于:2023-09-14 ⋅ 阅读:(143) ⋅ 点赞:(0)

目录

一.break语句

1.1简介

1.2案例

二.continue语句

2.1简介

2.2案例

三.goto语句

3.1简介

3.2案例


一.break语句

1.1简介

    在C语言中,break语句被用来在循环或switch语句中提前终止当前循环或跳出switch语句。当break语句执行时,它会立即结束循环或switch语句的当前执行,并将控制转移到循环或switch语句后的下一条语句。

1.2案例

    在循环中使用break语句可以提前终止循环,无论循环条件是否满足。这在循环过程中需要提前跳出某个特定条件的情况下非常有用。例如:

for (int i = 0; i < 10; i++) {
  if (i == 5) {
    break;
  }
  printf("%d ", i);
}

    该代码会打印出:0 1 2 3 4。当变量i等于5时,break语句被执行,循环终止。

    在switch语句中使用break语句可以避免出现"贯穿"的情况,即当某个case条件成立后,之后的所有case语句都会被执行。通过在case语句中使用break语句,可以使程序选择执行完当前case后立即跳出switch语句。例如:

int choice = 2;
switch (choice) {
  case 1:
    printf("Choice is 1\n");
    break;
  case 2:
    printf("Choice is 2\n");
    break;
  case 3:
    printf("Choice is 3\n");
    break;
  default:
    printf("Choice is not valid\n");
    break;
}

    对于上述代码,由于choice的值为2,只有第二个case语句会被执行,然后跳出switch语句。

总结起来,break语句在C语言中用于提前终止循环或跳出switch语句。它是控制流程的重要工具之一,能够提高程序的灵活性和执行效率。

二.continue语句

2.1简介

    C语言中的continue语句是一种控制流语句,用于跳过当前循环中剩下的代码,直接进入下一次循环的开始。

    当程序执行到continue语句时,它会立即跳过当前循环的剩余部分,然后继续执行下一次循环。这意味着continue语句之后的任何代码都将被忽略。

    continue语句通常与循环语句(如for循环和while循环)一起使用,可以用于实现一些特定的逻辑控制。

    在使用continue语句时需要注意以下几点:
1. continue语句只能在循环体中使用,不能在switch语句或函数中使用。
2. 使用continue语句时,程序会立即跳到循环的开始处,继续下一次循环的执行,而不再执行continue语句之后的代码。
3. continue语句只能用于跳过当前循环的剩余部分,不能跳过整个循环。
4. continue语句通常与条件语句一起配合使用,根据满足某个条件时跳过当前循环的执行。

2.2案例

    下面是一个使用continue语句的示例,用于统计一个数组中负数的个数:

#include <stdio.h>

int main() {
    int numbers[] = {1, -2, 3, -4, 5};
    int negativeCount = 0;
    
    for (int i = 0; i < 5; i++) {
        if (numbers[i] >= 0) {
            continue;  // 跳过正数,执行下一次循环
        }
        negativeCount++;
    }
    
    printf("负数的个数:%d\n", negativeCount);
    
    return 0;
}

    输出结果为:负数的个数:2。这个示例中,通过使用continue语句,可以在遇到正数时跳过当前循环的剩余部分,直接进行下一次循环,从而实现了统计负数的个数的功能。

三.goto语句

3.1简介

C语言中的goto语句是一种跳转语句,用于直接跳转到程序中的某一标签处执行代码。它的基本语法为:
 

goto label;
...
label:

其中label是代码中的标签,可以是任意合法的标识符(除了C语言的关键字),表示跳转的目的地。使用goto语句时,程序将直接跳转到指定的标签处继续执行。

    使用goto语句可以在程序中实现跳转、循环以及异常处理等功能。然而,由于goto语句可以使程序的流程变得混乱和难以理解,同时也可能造成代码结构复杂化和维护困难,因此在实际使用中需要慎重考虑。

3.2案例

以下是一些goto语句的常见用法示例:

1. 跳转到特定标签位置继续执行代码:

goto label;

...

label:
    // 执行代码

2. 使用goto实现循环:
 

int i = 0;

loop:
    if (i < 10) {
        // 执行代码
        i++;
        goto loop;
    }

3. 使用goto实现异常处理:

if (condition) {
    // 发生异常
    goto error;
}

// 正常执行代码
...

error:
    // 异常处理代码

需要注意的是,虽然goto语句可以实现某些功能,但在大多数情况下,应尽量使用结构化控制语句(如if、for、while等)代替goto语句,以提高代码可读性和维护性。


网站公告

今日签到

点亮在社区的每一天
去签到