优秀的编程知识分享平台

网站首页 > 技术文章 正文

C语言中break语句的神奇妙用:让你的代码像火箭一样飞

nanyue 2024-07-18 03:48:13 技术文章 11 ℃

#畅聊数码新品#

C语言的break转移语句是一种用于跳出循环或者switch语句的控制结构。它的作用是提前结束循环或者switch语句,从而避免不必要的计算或者执行。

break语句的用法如下:

  • 在while循环中,如果某个条件满足,可以使用break语句跳出循环,执行循环后面的语句。例如:
#include <stdio.h>
int main()
{
    int i = 1;
    while (i <= 10) // 循环条件
    {
        printf("%d\n", i); // 打印i的值
        i++; // i自增1
        if (i > 5) // 如果i大于5
        {
            break; // 跳出循环
        }
    }
    printf("The loop is over.\n"); // 打印循环结束的信息
    return 0;
}

输出结果为:


  • 在for循环中,如果某个条件满足,可以使用break语句跳出循环,执行循环后面的语句。例如:


#include <stdio.h>
int main()

{

    int i;

    for (i = 1; i <= 10; i++) // 循环变量和条件

    {

        printf("%d\n", i); // 打印i的值

        if (i == 5) // 如果i等于5

        {

            break; // 跳出循环

        }

    }

    printf("The loop is over.\n"); // 打印循环结束的信息

    return 0;

}


  • 在do-while循环中,如果某个条件满足,可以使用break语句跳出循环,执行循环后面的语句。例如:


#include <stdio.h>
int main()

{

    int i = 1;

    do

    {

        printf("%d\n", i); // 打印i的值

        i++; // i自增1

        if (i > 5) // 如果i大于5

        {

            break; // 跳出循环

        }

    } while (i <= 10); // 循环条件

    printf("The loop is over.\n"); // 打印循环结束的信息

    return 0;

}
  • 在switch语句中,如果某个case匹配,可以使用break语句跳出switch语句,执行switch后面的语句。例如:


#include <stdio.h>
int main()
{

    int x = 3;

    switch (x) // 根据x的值选择执行

    {

        case 1: // 如果x等于1

            printf("x is 1.\n"); // 打印x是1

            break; // 跳出switch

        case 2: // 如果x等于2

            printf("x is 2.\n"); // 打印x是2

            break; // 跳出switch

        case 3: // 如果x等于3

            printf("x is 3.\n"); // 打印x是3

            break; // 跳出switch

        default: // 如果x都不等于1,2,3

            printf("x is not 1, 2 or 3.\n"); // 打印x不是1,2,3

            break; // 跳出switch

    }

    printf("The switch is over.\n"); // 打印switch结束的信息

    return 0;

}

输出结果为:


对于昨天发布的一个goto语句文章中,虽然也是使得一个跳出循环的语句使用,但是它可能会破坏程序的结构化和逻辑性,导致程序难以理解和维护,甚至引发一些潜在的错误和风险。因此,很多编程书籍和老师都不建议使用goto语句,而是推荐使用其他的控制流程语句来代替。

C语言的goto语句:神奇的跳转工具还是危险的炸弹?

例如昨天的寻找元素的程序,我们可以使用break来替代goto语句:


#include <stdio.h> 
#define N 3 //定义数组的行数 
#define M 4 //定义数组的列数 
int main() 
{ 
  int a[N][M] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; //定义一个二维数组 
  int x = 3; //定义要查找的元素 
  int i, j; //定义循环变量 
  int found = 0; //定义一个标志变量,表示是否找到 
  for (i = 0; i < N&&!found; i++) //遍历数组的每一行 
  { 
    for (j = 0; j < M&&!found; j++) //遍历数组的每一列 
    { 
      if (a[i][j] == x) //如果数组中的元素等于要查找的元素 
      { 
        found = 1; //将标志变量设为1 
        break; //跳出双层循环 
      }
    }
  break;
  }
    if (found) //如果找到 
    { 
      printf("Found %d at a[%d][%d]\n", x, i, j); //输出元素的值和位置 
    } 
    else //如果没有找到 
    { 
      printf("Not found %d\n", x); //输出元素的值 
    } 
  return 0; 
}


输出结果:


注意:

break语句不能用于除循环语句和switch语句之外的任何其他语句中。另外,在多层循环嵌套的情况下,使用break语句只能跳出当前循环,这点一定要注意!


以上就是C语言的break转移语句的内容介绍,希望对你有所帮助。

原文链接:https://mp.weixin.qq.com/s?__biz=MzkzOTQ1NjQyNA==&mid=2247484948&idx=1&sn=7a060f1992ce1cec22417fa8a402267f&chksm=c2f1e4d3f5866dc525fa792314b8602e094b33c8eee92b0653be72a4f7027c6cc4f464b30218#rd

最近发表
标签列表