嵌入式学习第13天——C语言循环结构break和continue

break和continue

  • break

功能:

1.用在switch中,用来跳出switch的case语句;如果case没有break,可能会产生case穿透。

2.用在循环中(while、do..while、for..),提前结束循环,也就是跳出整个循环。

说明:

  1. break不能用于循环语句和switch语句之外的任何其它语句之中。

  2. break只能终止并跳出最近一层的结构。

图示:

案例:

/***
  *需求:break案例——参加一阶段考试,如果及格跳出循环,不及格一直考
  */
 #include <stdio.h>
 ​
 int main()
 {
     printf("一阶段分段考试\n");
 ​
     //声明一个变量,用来存放考试成绩
     int score = 0;
     do
     {
         printf("开始一阶段分阶段考试...\n");
 ​
         scanf("%d",&score);
 ​
         //考试合格,结束考试
         if(score >= 60){
             break;
         }
     }
     while(1);
     printf("恭喜你通过考试!\n");
     
     return 0;
 }
 /**********************************************************
 一阶段分段考试
 开始一阶段分阶段考试...
 55
 开始一阶段分阶段考试...
 79
 恭喜你通过考试!
 *************************************************************/

案例:

 /***
  *需求:break案例——1~100内前十个偶数
  **/
 #include <stdio.h>
 ​
 int main()
 {
     for(int i = 1,count = 1;i <= 100;i++)
     {
         if(i % 2 == 0)
         {
             if(count > 10)
             {
                 break;
             }
             count ++;//只记录偶数
             printf("%d\t",i);
         }
     }
     printf("\n");
     return 0;
 }
 /****************************************
 2   4   6   8   10  12  14  16  18  20
 *****************************************/
  • continue

功能:continue语句不会结束整个循环,而是跳过本次循环尚未执行的语句,进入下一次循环。

说明:

1.仅用于循环语句中。

2.在嵌套循环的情况下,continue语句只对包含它的最内层的循环体语句起作用。

图示:

案例:

/**
 * 需求:continue案例-求1~100之内的偶数和
 */
 #include <stdio.h>
 ​
 //不使用continue
 void fun01()
 {
     int sum = 0;
     for(int i = 1;i <= 100;i++)
     {
         //判断偶数
         if(i % 2 == 0)
         {
             sum += i;
         }
     }
     printf("1~100之内的偶数和是:%d\n",sum);
 }
 ​
 //使用continue
 void fun02()
 {
     int sum = 0;
     for(int i = 1; i <= 100; i++)
     {
         // 判断奇数
         if(i % 2 != 0)
         {
             continue;//跳出所有的奇数
         }
         sum += i;
     }
     printf("1~100之内的偶数和是:%d\n",sum);
 }
 int main()
 {
     fun01();
     fun02();
 }
 /**************************************
 1~100之内的偶数和是:2550
 1~100之内的偶数和是:2550
 ****************************************/
  • 跳出多层循环

跳出多层循环是不能使用break和continue的,因为他们只能跳出单层循环,跳出多层循环,需要我们自己定义标志位进行跳出。

案例:

// 定义一个标志位
 int isFlag = 1;// 默认循环成立
 char fu;
 while(isFlag)
 {
     printf("第一层循环执行的内容...\n");
     
     while(isFlag)
     {
          printf("第二层循环执行的内容...\n");
 ​
          printf("是否跳出循环?(y/n)");
          scanf("%c",&fu);
          if(fu == 'Y' || fu == 'y')
          {
              isFlag = 0;
          }
     }
 }

注意:如果是多层循环,进的时候是从外到内,跳出的时候是从内到外。

 以上就是今天C语言的笔记,有什么问题还请指正,谢谢!

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值