vlambda博客
学习文章列表

少儿编程C++第一季——18、for循环的嵌套:这么玩



学习目标:

了解for循环嵌套的写法。

能使用for循环解决简单的数学问题。


各位小伙伴大家好,本期是C++第一季的最后一期。因为到目前为止,我们所涉及的内容也已经完全包含了青少年软件编程等级考试第一级的相关知识点。

如果你按部就班学完了全部课程,同时配有适当的练习和指导的话,过一级应该还是有很大把握的。


这最后一期,我们一起来学习循环的嵌套。针对for循环是因为它在嵌套方面的使用较while循环更加常用。

在学期嵌套之前先来输出几个简单的星号,加深一下对for循环的理解。


示例代码如下:

少儿编程C++第一季——18、for循环的嵌套:这么玩


该循环执行5次,请注意i=0和i<5这两句,因为这两句控制着for循环执行的次数。

第7行是执行语句,输出一个星号,这里循环5次,也就是输出5个星号。

这是单个for循环,输出单行的情况。


下面看看两个for循环并列的情况:


少儿编程C++第一季——18、for循环的嵌套:这么玩


上图方框中分别是两个并列的for循环,各自输出一行数量不同的星号。

也就是说每一个for循环可以输出一行星号,如果我们要输出10行星号,那是不是要写10个for循环呢?

当然,这样也能实现,但是我们更好的方式就是——循环的嵌套套。

将我们的输出星号的for循环,嵌套在一个执行10次的for循环中,就能很好解决这个问题了。


一起来看看:


少儿编程C++第一季——18、for循环的嵌套:这么玩


外层循环一共执行五次,但是每次循环都要运行一遍所有的执行代码,也就是第7-10行。

而第7-10行是另一个for循环,所以外层for循环每执行一次,内层的for循环就执行10次,输出10个星号。


逻辑示意图如下:

少儿编程C++第一季——18、for循环的嵌套:这么玩

外层循环执行一次就让内层循环输出10个星号,换句话就是外层循环控制行数,内层循环输出数量。


如果我们要让每行输出不同的数量的星号该怎么办呢?也就是行数不变,只让内层循环每次输出不同的数量星号。

这种问题在考试也较为常见,出现频率比较高的就是输出三角形了。


一起来看看:


少儿编程C++第一季——18、for循环的嵌套:这么玩


上面的程序中,外层循环5次,也就是输出5行。内层循环没有输出固定数量的星号,而是根据外层for循环中的变量i的值来确定。


外层for循环第一次也就是i=1,那么内层就输出一个星号。外层第二次循环,也就是i=2,内层就输出2个星号。

以此内推,从而达到一个输出三角形的效果。


最后我们来看一个输出金子塔型的程序



这段代码仅供大家参考交流,需要注意的是内层嵌套了两个并列的for循环。一个用于输出空格,一个用于输出星号+空格。

因为每一行前面的空格数是依次递减的,而星号数是依次递增的,所以在算法上还有少许不同。


有关算法的知识,我们后期还会有专门课程来一起学习,这里就不做过多的拓展。

本例的算法就留给学有余力的同学自己去思考吧。






友情推荐




 系列课程按纲编






   查看更多内容

请长按扫码关注