章节
问答
课签
笔记
评论
占位
占位

结束语句之break语句

在我们生活中,可能会由于某种原因需要中断当前的事情,并且不能继续进行下去。如:小明今天篮球训练,需要运球10次,当运到5次的时候,突然肚子疼无法坚持循环,这个时候就要停止训练。

我们可以将运球看成是一个循环,那么循环5次的时候,需要中断不继续训练。在C语言中,可以使用break语句进行该操作,代码实现如下:

运行结果:

使用break语句时注意以下几点:

1、在没有循环结构的情况下,break不能用在单独的if-else语句中

2、在多层循环中,一个break语句只跳出当前循环

任务

找出0-50之间的所有素数,所谓素数就是只能被1和它本身整除的数字,比如:7,13,23等。

在代码编辑器中:

第9、10行根据注释提示补全代码

运行结果

?不会了怎么办

1、是否使用了break跳出循环

2、break跳出通常会结合if语句一起使用,if语句判断条件是否正确

3、参考代码

||
1
#include <stdio
    .h>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / weixin_慕前端4329581
#include<stdio.h>int main(){ int m,n; for(m=2;m<=50;m++) { for(n=2;n<=50;n++) { if(m%n==0) break; } if(m==n) printf("%d\n",m); }}

最赞回答 / weixin_慕九州8424082
外循环m=3时  for(n=2; n<m; n++)  等价于for(n=2; n<3; n++)这时候n++等于3时 不符合循环条件会跳出当前内循环。但注意,此时n就是等于3了(n++自增导致的)for循环的执行顺序是先n<m判断,执行语句,n++,再n<m判断,执行语句,n++所以n=2(执行语句)后,n++等于3,n<m条件不符合,跳出当前内循环。再执行        if(m == n)               printf("%d  ", m);所以能输出素数...

最赞回答 / weixin_慕工程7134342
#include <stdio.h>int main(){    int m, n;    for(m=2; m<=50; m++)    { for(n=2; n<m; n++)        {            if(m%n==0)       //什么条件下跳出当前循环              break;                 //这里应该退出当前循环了 }         if(m == n)   //n循环结束后,如果m=n的话就输出m      ...

最新回答 / weixin_慕哥6460611
你最后输出语句%d后面加个空格或者\n

最赞回答 / 慕瓜7508830
是不是if(x==y) 少了=号,我也是新手。。。。

最新回答 / 慕容5369444
循环分为内循环和外循环,外循环开始后,内循环开始工作,直到本次循环结束,返回继续新的一轮外循环,内循环重新开始工作

最赞回答 / 哦阿达
先开始m=2,然后进入子循环n=2,m%n==0,然后break,跳出子循环,进入if   m=n判定,判定成功,输出2;父循环m=3,进入子循环n=2,不符合条件,继续子循环n=3,m%n==0,然后break,跳出子循环,进入if   m=n判定,判定成功,输出3;父循环m=4,进入子循环n=2,m%n==0,然后break,跳出子循环,进入if   m=n判定,m=4,n=2,m!=n,判定失败,不输出;父循环m=5,进入子循环n=2,……并不会出现你所说的m=4,n=4一起

最赞回答 / Y_H_
以外循环m==5为例,当n==4时,执行循环体,接着执行n++得到n==5,此时此时,对于n<m : 满足不了n<m,跳出内循环,执行if(n == m),说明5除了1以外只能被5整除,为素数;          对于n<=m:满足n==m,执行内循环体,由于m%n=0,执行break,同样也跳出了内循环,执行if(n == m),说明5除了1以外只能被5整除,为素数;综上所述,两种情况得到的结果都是相同的,且均是正确的,如有出错,感谢各位指正。

最赞回答 / 骑着狼放羊5572620
if(m%n!=0)该语句相当于if(m%2!=0) ,只满足m%n!=0的条件不能证明m是素数,只要m%(一个数)满足不等于0就说m是素数显然是不合理的。

已采纳回答 / King雨笙
n<m是循环的条件,当n不满足n<m这个条件是就会跳出循环

最新回答 / qq_慕村3139394
你这个只能获得因数不为2的数,并不是素数

最新回答 / 慕容3118422
我觉得因该n<m中的m是m++(先取值,后自增一)中自增的那个值。举个例子当进行for循环时,先进行for第一级此时m取值为2,实际上经过"m++"变量m已经变为3,此后运行for循环次级n为2满足n(2)<m(3),但是在运行过程中m还是2,所以满足m%n==0跳出循环,且m==n值都为2,输出。简单来说n<m中的m是自增之后的,其它m是取值m我是这样理解的,不知道对不对

最新回答 / qq_慕函数9032918
for(n=2;n<m;n++){     if(m%n==0) {         printf("n1=%d,m1=%d",n,m);//得到循环内n与m的值。         break;         }}printf("n2=%d",n);//得到跳出循环或无法满足n<m即n=m时n的值。例如:n=3时,无法进入循环,但此时n依旧等于3;if(m==n){    printf("%d",m);//此时n就是n2,同上(n=3那句话)。}

最新回答 / qq_唐涛_0
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
这就是求素数吧
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言