00:01
那下面我们就来看一下for循环的基本语法和它的一个执行流程,首先我们看for循环的基本语法是怎么写的呢?第一个首先呢,它有一个循环变量。的定义,先把这个循环变量定义好,然后呢,这里面有循环变量的初始化,也就是说它这里面有一个动作是循环变量的初始化,我们给它来一个标号啊,有个循环变量初始化。然后呢,这个地方有一个循环的条件,哎,有个循环的条件。循环条件完了过后呢。下面呢,有一个循环的操作语句,就说你要完成什么样的一个循环操作,它是一个语句,呃,是由语句组成的,注意啊,这里面是可能是多个语句,就可以是多条语句。不是说咱们这个循环操作只能是一条语句,只要在这个大括号里面呢都可以,所以说它可以是多条语句,那么这块呢,我们把它标成D3个部分。
01:04
对,那这样做完了之后,第四一个部分就是循环变量的迭代,对循环变量迭代是,那从这里面我们分析出来呢,做一个循环来讲呢,它至少有四个要素,就是老师标出来的,分别是循环变量的初始化,循环的一个条件,循环操作以及循环变量的迭代,大家看懂了。那现在呢,我们这样子哈,我们来一个快速入门,我们用for循环来完成前面的这道题,什么题呢?打印五句好,我给大家先演示一下,然后我们画出流程图,再画出内存的一个分析图,帮助同学们理解这点很重要,来打开我们这个这个这个东西,这个VS2010,我们来写第一段代码。那这边呢,我们取个名字叫做for循环。For DEMO。Four demo01。
02:00
好的,那现在呢,我们写一个include。STDL。那现在呢?我们写一个VO的主函数。好的,那现在我们怎么写呢?首先我们根据刚才写的定义,我们就照着我们照着这个写就行了哈,第一步循环变量的定义,我们先写一个变量,比如说定义一个变量,循环变量跟着老师思路,那么写个in I初始化,你可以初始化,也可以在这不初始化或循环I我先初始化为零,I小于啊或者这样写吧,咱们写个一小于等于几呢?不是5G吗?小于等于5I加加。I加加,然后我们要输出这句话呢,我们写到这里,比如说我们要输出的是你好,你好上硅谷,那么为了能够看到这个变化呢,我把这个I也给大家说出来,让大家看一下。
03:01
好I就输出来,好,这边我们进行一个换行写完了。同学们,这方我们来一个get char,让代码停到这里,那这段代码大家可以看到它第一个,这就是循环变量的一个定义,这是初始化,对不对,这个是什么呀?这个是循环的条件,这个就是我们的循环操作,爱加加呢,就是循环变量的迭代,那现在我们来运行一下,同学们,我们运行一下看看这个效果怎么样哈,跑起来。抛弃过后呢,我们可以看到这边运行的结果,对,诶这边运行的结果,他这报一个错,我们看是为什么哈。哦,他说有个主函数已经定义了,那就是前面我们应该有一个没有注销,好把这个注销了就可以了。好,我们再来运行。现在我们可以看到这个结果应该是什么样子呢?你好,上位谷有五句,咱们看是不是这样输出的。
04:00
而且分别是12345。5G,那这样就灵活了,如果说我们想输出5万句怎么办?直接把这个改成5万就行了。这就是5万句,你好,是硅谷,如果你要改成3456G没问题,所以说这个很方便,那现在呢,老师把这段代码哈,来给他做一个流程图的分析,就说我们来看看到底这一个这一段代码它是在。它的执行的流程是什么?它的执行流程是什么?来同学们,我们把这个代码拿过来。跟着老师思路,我们来分析一把。画出流程图,这个流程图呢,老师就画一次,以后我们就不画了。画一次,同学们要跟上老师思路。好,我先把这个打开,然后。把这边的乱码给他处理一下。好,同学们往这一放。
05:01
放完过后呢,我们现在呢,我们来看一下流程是怎么执行的啊,首先代码就从这里开始执行了,我们代码开始执行。从这里开始行,他第一句话呢,先定义了一个循环变量I,只是没有初始化啊,没有初始化,所以说我们认为第一个动作我们这样写。好,我们换一个颜色吧,好吧,这个地方它做了一个定义的int I。定台,紧接着呢,他继续往下执行。它继续往下执行,执行到哪里呢?执行到这句话,这句话就是循环变量的一个初始化,是不是循环变量初始化,所以说这个地方它执行了第一句话,这个话叫I等于诶这个地方是干什么的,去掉这个地方,它把这个I呢。对,他把这个I置为了一个零。这有一个专门的术语,叫循环变量初始化。初始化。
06:04
好的,那这个初始化完了过后,他应该执行哪一步呢?同学们,他下面就执行了这一句话。这一部分就是我们的判断条件,说他先初始化完了过后,它执行这个循判,这个循环条件的判断,也就是说下面它执行的一个语句应该是哪呢?应该是这。好这样子,因为待会我的空间比较小,我把它稍微的收一收。同学们跟上老师思路哈,那这边有一个。条件的判断,条件判断呢,我们使用这一个菱形。好。写在这,那这个地方他做了一个什么判断呢?他说AI小不小不小于等于五。I小不等于对母这个地方我们是有一个专门术语的,叫做什么呢?叫做循环条件的判断。循环,循环条件判断。
07:00
循环。循环条件,OK,循环条件就在这儿进行一个判断,诶,那么还有一点没出来哈,往这边再来一点。咦?那句话上哪儿去了?好,放在上面吧,循环条件。那这个循环条件,它一定会有一个真或者是假,那如果为真怎么办,为假怎么办呢?跟上老师思路好,下面呢,我们看下一个环节。对。那如果说他这个为真,就是如如果如果这个条件判断为真呢,他就去执行这里面的这句话,这句话叫什么呢?叫做循环体是吧,叫循环语句。循环语句,那也就是说,如果这边为针。判断这个为针,它就往下执行为针,我写这么一个符号处用T表示。叫维珍。他就。
08:00
往下面这句话执行。往下面,那这句话是什么呢?是什么就是什么。对,你是不是输出,你好深硅谷啊,诶他就把这句话输出来,那么I现在是多少呢?是零,那就按零输出。那输这个循环语句输出完了过后,他怎么办呢?好,他紧接着做下一个动作,大家看下一个动作呢,他就执行这个I加加,也就是说这个循环条件结束了以后,他回到这个地方来。进行一个循环变量的迭代。变量迭代。迭代迭代。迭代,那这个循环变量迭代在这里我们写的是I加加。哎,佳佳,换言之,换言之,同学们,也就是说,当我们这句话执行完毕以后。循环循环,他到这儿来了。大家看到没有,他到这来,也也就是说循环条件,循环语义执行完了过后呢,他去执行这个I加加,那么A加加执行完了过后,他又干什么呢?朋友们,他又紧接着执行这句话。
09:10
他又跑去又去看你,目前这个I小不小于等于五。如果这个小于五仍然成立,它就像在这这地方不停的循环。大家看到循环在哪里产生,就在这个地方产生的,那当然了,你在进行这个循环条件判断的时候,它可能为真,那它还可能为假嘛,对不对,它还可能为假,那如果为假怎么办呢?好的,如果为假,同学们他就退出这个循环。也就是我们这写的这句话叫终止小弟了哈,我换个另外一个颜色,叫止for循环,或叫退出,退出这个for循环。那么退出这个负循环这条线是怎么走的呢?可以说是这样子的。对这样子,那换言之,就是说,当我们这个循环条件在某个时候,某个时候什么叫某个时候呢?就是就是在不停的变化中,他肯定。
10:12
不停的增加,他肯定会。在某个条件下,它就不不再小于等于五了,他如果说为甲呢,它就退出这个for循环。那么退出这个负循环以后,代码是不是整个程序退出呢?不是,它可以继续执行。就继续执行我们后面的代码,就程序继续往下来啊。就继续我往我把这个往上面上面移一点,就继续执行,就继续执行,我们带其他的代码,我在这写个。好,继续。继续,那如果说你这个for循环就是我们整个语句的最后一句,当然就退出了,如果你个for循环下面还有别的语句,比如说打个比方哈,你还有别的语句写了一个,比如说I,比如说你这边还有个I等于这个I乘以三等等等等等等啊等等,那这个代码呢,还要继续执行下面的部分。
11:11
好,同学们看这个图是不是画的很清晰了?能理解了吗?我们再把这个流程图说完以后,我们再来看一下,嗯,我们再来看一下,为什么他输出这个结果是这样一个结果呢?我们再来再来给大家。推导一下结果是怎么来的,就是为什么是这样一个结果,是I等于一,I等于二,I等于三,I等于五,是I等于五呢?我们再分析一遍。就是这次呢,我们对照这个流程图,还有一个代码,我们看看为什么我们控制台输出的是这样的五句话,好,假如这是我们的,这是我们的控制台。假如这是我们的控制台,好,代码我们开始来玩了,啊,代码开始来玩了,那首先嗯,在这个在这个控制台执行的过程中,我们假设我们假设有一块内存。
12:04
我们假定,我们假定这这边是我们的内存哈。我我把这个内存画到这来,画到这来,这样这样,这是我们的一个内存执行的一个内存。这是我们的控制台,也是也就是说这个地方是我们的这个输出界面。输出界面,而这边是我们的计算机内存。计算机,计算机内存。那现在呢,我们来分析一下,根据这个流程分析下怎么输出的,首先根据老师来开始走第一步,他先定义的I啊,没有初始化,那I就有了,也就是说这个时候在内存里面呢,我们可以想象到有个I,那它紧紧接着执行初始化,那现在I呢,等于几了呢?I就等于在这个内,内存里面有个空间放了一个值等于零。是不是是不是等于,然后等于一等于一等于一过后进来,进到这边I小于等于五成立吗?为真进到这来进到这里面是不是就执行这句话好执行这句话就是我们的这句话了,你好,深硅谷。
13:07
I等于几呢?I等于一。因为你目前这个I就是等于一的,好,紧接着它这句话执行完了,过后,I加加,I加加就在计算机里面呢,把这个一变成二,一变成二,过后又去判断I小不小于等于五,显然是小于五的小于五,他又咨询这个循环语句,于于是他又输出这句话,但是这个时候同学们注意观察,你的I变成几了呢?你的I现在已经变成二,因此它输出二调查老师思路。变成二以后,他又去I加加迭代,于是把这个二变成了三。好,咱们就分析一次啊,然后这个三完了,我又去判断三小不要小不小于小不呃小于等小不小,呃小于等于五波,然后呢,当然是成立的,所以说。这个呢就输出三,输出三以后呢,循环变量再次迭代I加加,这个变成四。
14:06
变成式过后又去判断I小于等于五,五是否成立,显然。四肯定小于等于五是成立的,于是又说出这句话。对,这个时候呢,I等于四了,继续I加加迭代,I加加迭代过后,这个内存里面的I呢,就变成了五,五小于等于五吗?仍然是成立的,于是又输出这样一句话,变成了五,变成五过后呢,这个I又加加,I加加过六,五变成六了,再去判断I是否小于等于五,显然六不满足这个条件了,六不小于等于五,于是这个条件为甲,为甲呢就退出这个负循环,退出for循环,你后面这个代码也没什么输出了,于是整个程序退出。因为后面你你就这个get char就控控制在就停在这了,是不是这样子出来的,好同学们,那根据这个流程。
15:00
同学们一定要记住啊,尤其是我们的初学者老师呢,用这个。我们利用流程图加我们的内存分析的这么一个方式给同学们讲清楚了,也就是说同学们以后再去看一些比较绕的代码的时候呢,建议大家是这样来看的,首先你可以把这个流程图把它梳理一下,然后呢,你一行一行的去看我们这个代码为什么这样输出,也就是说你可以把你的大脑。把你的大脑模拟成一个计算机这样子呢,就非常清晰的理解为什么输出的是这五句话了,对,所以说我们这有一个非常巧妙的方法分享给大家,就是干什么呢,可以可以。可以通过通过这个内存,内存的变量,通过变量注意听在内存中的变化,变化OK变化来分析。
16:03
来分析什么呢?程序,程序输出,程序执行的一个效果。对吧,这是一个,呃,我们作为编程人员,或者说同学们在学编程过程中可以使用的一个方法就是一边分析内存,一边分析我们的输出,好,同学们,那关于这个for循环的基本语法和它的执行流程,还有内存分析图就给同学们讲到这里,希望大家好好的领会一下。后面我们再讲for循环,我再讲Y循环,Do外循环的时候就没有这么复杂了,我就直接给你们一说,你们就明白了。好,这一讲先给大家聊到这里。
我来说两句