00:01
下面我们再来看另外一种循环控制结构,叫do well。那doi的基本语法,我们先lawyer哈,先它的基本语法,它的基本语法呢,是这样子的,第一个呢,先是循环变量的初始化,这个也是我们循环的四要素之一。这第一个就是循环变量的初始化。第二个呢,这是在这个do里面,大家有没有发现这个do是一个关键字while呢,也是一个关键字,这是固定好的,在这个do里边呢,大家有发现它是一个什么样一个代码块,一个代码块,那么在这里面呢,包含两个部分,那两个部分呢,就是我们的第二个部分。就是我们的循环体。对,这个循环体呢,当然也可以是多条语句,可以是多条语句循环体执行完毕过后呢,然后再执行它的循环变量的一个迭代。
01:00
循环变量迭代做完了过后呢,在这个while里边有一个循环条件,这是我们的第四要素理解。也就是说,我们可以看到这个do one呢,也包含了循环的四要素,只是顺序会略有差别,大家有助于观察我们的for循环、while循环、do while循环都有四个要素,但是执行的顺序不尽相同,就不是完全相同的。那么现在呢,我们这样子哈,这是它的基本语法,咱知道过后呢,我们还是老规矩,用do well循环画出呃,写出完成前面的输出五句,你好深硅谷,然后呢,画出流程图,分析一下内存的变化。这个就到位了,大家就比较明白了,那打开我们的VS2010,我们来写一把。那现在呢,是do well循环的案例,因此呢,我新建一个文件。走起来叫do well。Do we DEMO。
02:00
添加进去,那同样道理,我们还是把这一个后缀给改一下。C。引入一个头文件。STDL。然后呢,写一个主函数。写一个主函数,好,我们输出这输输出五句哈,五句五句话,那么五句话呢,我们怎么写,我们来看一下它的基本结构,首先该干什么?同学们是不是先写出我们循环变量的初始化呀,那非常的简单,写一个就行了。对I,我们初始化为一吧,为一,然后呢,然后怎么办呢?诶,然后呢,我们再定一个最大的值,你不是要说五句话吗?我们写个五,这是最大值,我们是循环的。循环的最大次数。最大次数,这个能理解,现在度开始走度包起来。
03:03
我要寻欢。写上,把这个基本结构写好,那同学们注意到我们最后这个地方呢,有一个分号要给他,对,如果你不给这个分号,我们看看会有什么问题啊,待会待会我们再说,先把语句写完,先把语句写完,这里面我们先输出一句话,PF走起来。斜杠N换行叫你好对上硅谷,然后呢,我们把这个I也输出来一下,I等于本抛D,这输出没问题吧,然后呢,是不是这这一部分就是我们的循环体了。下一个该干什么呀?是不是该写我们的循环变量的迭代,那就是I加加。I加加,然后这里面是不是有个条件呢。那你想你循环次数是最大,最大五次,是不是写个I小于等于max就可以了。那这样就OK,你看就写完了,我们找一下它的关系哈,这个是循环变量。
04:04
变量初始化。对,那这个是我们的什么呢?这个就相当于是我们的循环体。这个没问题吧,循环体,而下面这个就是循环变量的迭代。是不是迭代?没问题吧,点赞好。这个迭写错了啊迭代。这样子,那这个是什么呀?同学们,I小于等于max,是不是就是我们的循环的条件。循环条件。看到没有,所以说每一个部分都出现了,分别出现了我们的四个要素,第一要素。第二要素、第三要素和第四要素。对,只是顺序不一样了,那同学们我们玩一把,首先还再强调一点,这个分号,你看如果这个分号没有的话,你看下面是不是报报错了。
05:03
对不对,所以说同学们一定要注意,这个分号一定要带上哈,我在这里再强调一下,分号要带上,注意。注意。注意这个do well。Do well。对外后边。后面有一个分号,分号不能省略。不能省略。这点请大家注意一下,好的,那这个明白的功能我们来运行一把。运行吧,我们先生成一下解决方案。看看代码有没有什么问题。好,我们看看有没有OK。呃,失败失败应该可能是前面有一个没有注销的吧。看哪里有问题,还是还是这个主函数已经存在了,是哪一个呢?找一下。哎,找一下哈,应该是Y,诶这个里面是有的啊,这个没有注销。
06:05
没有注销好的,那然后呢,我们再来生成一下解决方案。再来生成一下解决方案,看看有没有OK。好,这次就OK了,我们现在可以运行至对啊,跑起来。跑起功能,诶,注意这方一闪而过,我们应该来个get char,忘了这事了,对不对,运行。我们看一下这个输出的情况,跟我们想的是不一样,完全一样,看12345。12345完全都OK,完全OK,那么这个是它的代码。那这段代码对应的流程图是什么样子的呢?同学们,我在这儿已经画好了,我们来看一下就可以了哈。它首先执行一个循环变量的初始化,这个循环变量初始化放在我们这里面就应该是等于I等于什么呀?I等于一是不是这句话呀。是不是就这这句话,那么下面呢,有一个循环体和循环变量迭代,我就不写了,就是那个输出语句和I加加,然后循环条件是不是I小于等于max。
07:10
如果说大家看,如果我们这个循环条件为真,它就继续去执行这个循环体和循环变量迭代,如果这个循环条件为假,怎么样就退出我们这个do I循环,其实非常的简单,也非常清晰。好同学们,那这个就说完了,那么这个代码内存的分析我就不多说了,因为非常的简单,你看一下嘛,你第一次I等于一,如果说你要你要想的话,是不是有有一个内存I原先是等于一的,进去输出,在这个控制台就输出第一句话I等于一,这句话输完了过后这个条件。是为真的,于是又进去执行这句话。是不是又输出,因为你你这句话输出完了过后,输出完了过后,这个I变成二了嘛,变成二又变成二过后这个时候输出第二句话I等于二这句话。
08:04
I等于二,过后呢,又I加加变成三,三仍然小于等于max。于是乎,他又输出第三句话,输出第三句话过后,I又进行哀加加变成四了。变成四,变成四过后呢,四小于等于max也是成立的,于是又输出第四句话,第四句话输出以后这个这个时候。又进进到这里面去,然后呃,第四句话输出完了过后,然后这个I又加加了变成五,五呢,还小于等于max,又输出第五句话,这个时候I还会加一个变成六,也就是说我问同学们一个问题。如果我在这里输出I的值。I等于D,我问同学们,我问同学们,此时此刻这个I等于几呀?这个I等于几,能回答老师吗?这个I其实是等于六了,为什么呢?因为你第五次输出这个语句过后,然后I加加了吗?I加加过后,这个I就变成六了,六不再小于等于max,于是退出,因此如果你在最后退出对语句过后,你再输出这个I等于多少,这个I应该是等于六的,我们可以运行一下,看看是不是这样子。
09:17
跑起来,同学们跑起来,我们可以看到这个结果呢,跟我们分析的完全一样。因为只有I等于六的时候,他才退出这个外循环。好的,同学们,那关于这一个题的do well的基本语法和它的执行流程就给同学们分析到这里。
我来说两句