C语言中 break和continue语句解析

C语言中 break和continue语句解析

1、break

C语言中的break可以用在两个地方:

(1)用在switch中,作用是使程序流程转到switch语句之后的语句去执行。

(2)用在循环中,作用是转到循环语句之后的语句执行。

要注意的是,如果switch语句或循环语句是嵌套的,那break都只能跳出它所在的switch或循环,而不是跳出所有switch或所有循环。

例如:

for(i = 1; i <= 10; i++)

  for(j = 1;  j <= 10;  j++)

     if(i == j)

       break;  

代码中的break在内循环中,它使程序跳出内循环,外循环将继续进行。

2、continue

continue只能用在循环中,作用是跳过本次循环剩下的部分,转去执行下一次循环。对于for循环,只要遇到continue,便转到for后面括号里的第三个表达式。

注意:

continue不能用在单纯的switch语句中,除非switch在循环中或循环在switch中,这种情况下continue是对循环起作用而不是对switch。如果没有循环,单纯的switch中出现continue是一个语法错误。

下面是用break和continue的一个例子。

例3.7 求两个整数的最小公倍数。

#include <stdio.h>

int main()

{int  m, n, i;

 scanf(“%d,%d”, &m, &n);

 for(i = 1;  i <= m*n;  i++) {      

   if(i%m != 0)          

     continue;      //若除以m不尽,则回到i++换下一个数

   if(i%n == 0)

break;         //若除尽,意味着已找到最小公倍数,跳出循环

     }

printf(“%d和%d的最小公倍数是:%d\n”, m,n,i);

getch();

return 0;

}

这个例子仅是为了说明break和continue的用法才这样设计,实际上用下面代码来求解效率更高:

#include<stdio.h>

int main()

{int  m, n, i, t;

 scanf(“%d,%d”, &m,&n);

 if(m < n){                     // 如果m < n则交换m、n始终保证m比n大

   t = m;

   m = n;

   n = t;

 }

 for(i = m; i <= m*n; i += m){  // i的取值都是m的倍数

   if(i%n == 0)

break;          //若除尽,意味着已找到最小公倍数,跳出循环

     }

printf(“%d和%d的最小公倍数是:%d\n”, m,n,i);

getch();

return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值