c语言用for100内打印7的整数,C语言学习笔记(7)基础篇--> for循环跳出,嵌套,goto语句...

for

break:跳出结束当前的循环

cb9ecb1b0127fed61167de3a9fa3a78f.png

i=1时进入循环,判断条件成立,进入if语句,if条件为假略过所控制语句,进入输出语句,输出1,。i自增为2后判断条件,成立进入if语句,if为假略过所控制语句,进入输出语句,输出2.i自增为3后判断条件,成立进入if语句,if条件为假略过所控制语句,进入输出语句,输出3.i自增后为4判断条件,为真进入if语句,此时if语句为真,进入if所控制的语句,执行break语句跳出循环,输出总结果为123

continue:结束这一次循环,继续下一次循环,continue控制循环体内的它下面的语句,continue运行时,下面的语句不执行。

9fcedf86ee95318eba5ef8c2c8c49202.png

这两个例子一样,这里只是把break换成了continue,前面不过多叙述,当i自增后为4时判断循环条件,成立进入if语句,为真执行continue语句,这里continue控制它下面的所有语句,不做输出。i自增为5进入判断循环条件...  结果为1235678910

记不住的话就亲自测试一下

9a357d484c034abfe29d927fd99ab741.png

执行完一次循环后让它随着打印一次here,看看是不是continue控制下面剩余所有语句

8d302179d5fefd44f56e7921ca645483.png

可以看到没有输出4和here语句。

eg1:输出100以内的奇数(包括100)

25aa1fac3d964b757b811f010a62031b.png

嵌套

for嵌套:一个for循环体内又包含另一个完整的for循环结构,称为for循环的嵌套。内嵌的循环中还可以嵌套循环,这样就形成了多层循环

5ab852eb05f03b0c606c1fb01631ee17.png

eg2:打印3x3的*符号

3d0ae93fc0361d0f9dc86f07d09363f8.png

理解一个考试难度题

d6bd63f3f6f511f0914479fda163f7c1.png

首先程序走到第一个for循环,i=0时进入x++语句,执行后x为1。进入第二个for循环语句,j=0时进入if语句,0%2=0,为假,注意,这里为假则不执行continue语句,别弄混,进入if下面的x++,x为2。此时程序还是回到第二个for循环开始的地方,因为第二个for循环的j++后对于循环条件(j<3)来说是成立的,所以下一次执行的是if语句,发现此时j等于1的时候1%2等于1,为真,执行continue语句,下面的x++不执行,j再自增为2,循环条件成立,进入if语句,2%2=0,为假,不执行continue语句,往下执行x++,x为3。j自增为3后判断条件发现不满足循环条件了,所以程序要往下执行,外层for(第一层for循环)循环还有语句没有执行完,就是最下面的x++,执行后x=4。回到外层for,i自增为1,满足循环条件,继续往下执行,x++后x为5。进入内层for(第二个for循环)循环,j重新被赋值为0,j=0满足循环条件,进入if语句判断...(这里循环和i=0的时候一样,循环三次)循环后x为7,退出内层循环,再次执行最下面的x++,x为8,回到外层循环,i自增为2,不满足循环的条件,退出整个循环。进入输出语句,x的值为8。

如果这个题不是continue是break,x的结果为6,continue跳出当前继续下一次循环,break跳出本层循环,只要能理解这里的本层循环指的是什么,嵌套跳出就学会了,自己试试。不懂qq微信问我

外层循环执行了2次,内层执行3次,总体循环了2x3=6次循环。总体循环执行次数为外循环次数乘以内循环次数。外循环执行一次后,内循环执行3次后直到不满足循环条件才会退出内循环再次回到外循环,成立则再次进入内循环。还不理解的话就放到编译器里用调试一步步看。

while循环,do while循环和for循环这三种循环之间可以相互嵌套。

goto语句

c语言有三个转移语句,break语句,continue语句和goto语句,作用是改变程序的正常流向

goto语句一般有两种用途,与if语句一起构成循环结构,从循环体中跳转到循环体外。goto是无条件转移语句

格式:goto 语句标签;

要使用goto语句,你必须在你希望跳转的语句前面加上语句标签。语句标签就是标识符后面加个冒号。包含这些标签的goto语句可以出现在同一个函数中的任何位置

一般轻易不使用goto语句,它的无条件转向容易使人混乱,结构化程序设计语言都是由顺序结构,选择结构,循环结构等构成,goto破坏了这样的结构,它的表达太过广泛,不利于后期维护

eg3:枚举题,如何使用一角,两角和五角的硬币凑出2元的金额,只要发现出一种结果就跳出循环。

847aefd7271bad62ca62662c85023734.png

接力break:这里运用一个变量来进行接力break

980cd456b786edc5df1e44c9be8b0681.png

goto在这里非常合适。就是跳出多层嵌套的循环,由于break语句只影响它的最内层循环,要想立即从深层嵌套的循环中退出只有一个办法,就是使用goto语句。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值