00:04
看一下for循环的两个练习题,加深一下我们的印象,现在呢,我们对for循环的执行流程,还有它的基本语法呢,有了一定的认识,对不对?同学们,那现在呢,我们来做两道题,第一道题,打印一到100之间所有是九的倍数的整数的个数,就是这句话的意思,就是说让让你统计一下一到100之间是九的倍数的整数有多少个,以及它们的总和是多少。能做出来吗?来,同学们我们一起完成,那我先把这个注销,那现在呢,我们来写这个for循环的练习,跟着老师思路。只有通过多多练习,对我们才能够真正的理解。Exercise for循环的第一个练习。来跟上老师思路啊。STDIO。
01:00
Void。主函数。那现在呢,我们这个需求是非常清晰的,就是要打出一到100之间是九的倍数,有多少个,统计了多少个,那我来分析一下,我先做一个分析,我们做任何时候先有个分析,首先呢。首先九的倍数的个数,所以说我首先得有一个变量来记录一共有多少个,首先定义定义变量count。保存或者叫记录,记录个数对不对,记住它有这个个数,第二个朋友们,第二个是不是还要求总和呀,我们再定义一个变量。比如说叫做some,记录什么呢?记录它的总和。这个能理解不记住它的总和。没问题吧?那有了这两个东西过后,我们这个for循环就可以开始写了,根据前面的定义呢,我们首先定义一个I等于零。
02:07
没问题吧,我们上来写个I等于0FOR循环I等于零,当然有有同学说老师这个I前面已经等于零了,你这边再写,呃,有点重复了,没关系,重复就重复,就相当于说原先原先这样写的,只是呢,我就顺带手给他写了一个零。但这句话意味着如如果你的这个I这初始化是零,这个地方你也是零,其实这句话是可以不要的,但是习惯上呢,我们都把这个写上好吧,I小于等于多少呢?100。好,那这样就好,明明确了,那这样子呢,我们就把这个。零改成一,为什么改成一呢?大家想一到100嘛,对不对,我从一开始统计,只要小于等于100,我就可以继续统计,那就I加加。爱加加网络功能,我来判断来判断。这样写咯,判断I是不是九的倍数。
03:03
倍数。能理解那就写嘛。如果I摩。M9等于零,说明它就是九的倍数,是不是这个就表示是。如果是的话,同学们这个count是不是就可以来玩了,那你看到有没有,现在没有,所以说第一个count等于零。In some初始化也等于零,这个没问题,那some呢?Count我们就在这加加了。说明增加了一个。对,然后呢,这边上是不是要把当前这个I给它加进去。因为你现在这个I49的倍数,我把它累积到上中,相当于说这是累积到上,能理解这个是统计个数。对不对,统计个数,那同学们想整个for循环结束以后,整个for循环结束以后,是不是我们就拿到了count和三。
04:02
因为你会有这个I,只要是在小于等于100的这这个范围里面,我们就再计,如果你I不停的增长,增长到101,我们就不再统计了,结束了。对,那这种代码我们就写完了,最后呢,我们把这个结果输出即可,OK,那我们直接输出,同学们写个n count等于百分之d sum等于百分D,直接将其输出就可以了。对,然后呢,最后为了好看get一下。我们代码就行了,那我们来运行一下。运行之跑起来代码不会有什么问题哈,如果说你看我们有11个,就说一到100之间有11个数是九的倍数,这些数加起来的总和是594,同学们可以去验证一下,肯定是正确的。第一个题的评讲老师就讲到这,我们来看第二个题,第二题呢,说完成下面的表达式的输出,这题是怎么写呢?他说请输入一个整数,输一个六,如果输入一个六呢,就把。
05:08
就把它对应的一系列的这这各种加法的组合输出,输出来就是我输一个整数六,当然也可能是七,可能是八,可能是九,不知道哈,就是你输一个数,然后呢,把这个数的它的加的各种可能都写出来,比如说零加六等于六一加五二加,对这个大家看看明白了吧,就从零加到它这这边这边变化。好,那么我们来玩一把。我们来玩一把,那同样道理了,我现在先把这段代码给注销一下,能理解不?我先把这个注销,我们来写这道题。那这道题呢,我们仍然先把。他的需求拿过来。对,先说需求,呃,首先我们这样分析,把第一步先接收。
06:00
先接收用户的一个输入输入值,比如说max。这个max呢,就对应我们这边的六,比如说你输这个number,或者叫number也行哈,叫number也行,叫max也行,叫number吧,就数比较形象好,我们然后第二第二步呢,使用for循环,For循环。循环循环来输出,输出这个零从零到。到number number。零到number。的各种。的各种组合组合,呃,组合方式,你看这个组组合方式有多少种,是从零,这边是零,这边是六一,反正总总的来说,它这边和始终是六就行了。那我们来玩一把哈,来玩一把,那现在我们怎么写呢?同学们,咱们这样做,我们现在呢,拿到这个代码以后,我教大家一个比较巧妙的方法,我教大家一个巧妙的方法就是呢,你们先不要去用变量思考。
07:12
因为你这个number是个变量,你很容易想不到那去,所以说我们使用一个这样的方法,使用先死后活后。活的一个方式来编程和思考。思考,也就是说你你现在如果说一旦你认为这个number是个变量,其实你思考起来比较困难,我们假定其什么叫先死后活呢?就假定。假定啊,假定number就16。假定NUMBER66,然后把这个代码写完了以后,再让这个number变成一个输入的变量啊,对,然后对,然后再把。再把这个六,哎,注意听这句话啊,再。
08:04
然后再把什么呢?再把六改成改成变量就可以了。这种思路就是先是一个具体的数就是死的,后面把它改成变量就是活的,这个方法呢,特别适合我们前期学习的同学,那老师呢,先不做变量了,我先写一个number,就得我先这我我连这个number都不定,我就是六,你看我这样写了,开始了for循环。呃,来了,我先定义in ti等于零。好,开始for循环,I等于零,I小于等于六,是不是写死的呀,I加加。I加加,那大家看,现在相当于说我是从零到六进行一个循环,你看这是不是零到六。你看这边是不是零到六,而这边刚好是它的一个反向的一个,呃,一一个值,那这样子我们就可以输出了呀,怎么写呢?PF跟着老师思路。
09:08
斜杠N,那就是百分号D加摆方D等于。百分号D,那第一个百分号D呢,就是I,第二个是什么呢?第二个其实就是我们的六减I,这个能理解,第三个就是六,就一个具体的,这这个是不是具体的是就是一个六啊,咱们可以写十。是不是这样就可以写死了?诶,你看这样就写完了,写完了过后呢,再把它做成一个变量不就完了吗?来我们运行一下,看这个结果出来了没有运行。运行,我们看这个结果我们想的是否一样,是不是组合都有了,但是这个六呢,我们写死了肯定很不方便,所以说呢,我们怎么办呢?诶我们把number写成六,当然替换。这个地方是不是该是number的位置啊?这个地方是不是也是。一个number的位置,那就这样写的是number,这边是不是number减I啊。
10:04
那这样就方便了,那你看我再执行一下,同学们看是不是跟原先结果一样啊。是不是跟原先结果一样啊,你看运起来一样的,但方便在什么地方呢?方便就在于诶,我把这个改成十。对不对,我把这个改成十是不是很方便,下面代码以下全部都变了,多么的方便,是不是零加十,一加九都是十,那现在再来一步,就是把这个做成一个变量,输入这个有什么难度没有。这个没什么难度了,然后呢,再把这个使用什么呢?诶使用scanf干什么呢?让用户,让用户输入number,这个没什么难度,老师就不讲了哈,就说这里面最重要的就是教大家一种编程的方法,就是先死后活。很多同学呢,他刚上来过后就用一个辩论去思考,其实很容易,呃,就不那么形象。对,你养成一个习惯以后,随着这个代码量啊,跟当当我们的这个编程思维。
11:09
编程思维建立后,建立后就可以就可以一步到位了,一步到位。对,你现在呢,可以先分步走,先写一个具体的。再把它改成变量,等到你的编程思维已经建立了,那就不用这么麻烦,就就直接写就完了。但是这是一个过程,但是这是一个过程,对可能同学们,学生至至少你写代码写个一一周两周,你可能才会把这个思思维体系建立起来,同学们那关于这道题for循环的这道题的练习,我们就讲到这来,我们现在呢,就把前面讲的for循环的内容做一个简单的梳理板书。那我们看看我们刚才讲了哪些内容啊。我们回到这边来。回到这边来,我们讲了for循环,对,我们讲了for循环,对不对,For循环控制思思路捋捋。
12:06
或选控制,我们首先呢,我们首先是不是先提出了一个需求啊,诶,我们先提出一个需求,说我们要干一件什么事。是不是先提出了一个实际的需求?嗯,这个为什么这样子。啊,我们先提出一个实际需求,就是我们要要去输出6G5G,你好,三硅股,那首先呢,我们用的是传统的方案解决。那个传统方案是怎么解决的呀?很笨很笨,就这么写的,显然这是不合理,不行的,你每个代码都这么去写,黄花菜都凉了对不对?但是毕竟他也不失为一种方案,那确实也可以完成,只是呢,怎么样,代码的维护性非常的差。没法玩,所以说我们就推出了for循环,是这样子吧,那推出for循环以后呢,我们上来过后就给同学们介绍了for循环的什么呀,它的基本语法和它的执行流程,这个是蛮重要的,这是。
13:07
这个破循环里面最核心的内容一定要认真理解,那我们看看我们这块是怎么说的,我们讲了它的基本的语法。对,我们讲它基本的语法啊,基本语法呢,我们先给他说了一下,呃,它的一个这么几个过程要先定义一下,然后呢,初始化。然后是呃,循环变循环条件,然后操作对不对,然后这边做完了以后,我们是不是做了一个它的执行流程分析,这是基本语法,这是执行流程分析,执行流程分析里边呢,我们是按照这个三步来做的,首先第一个我们先完成了前面的题,把这个题的解决方案拿过来。是不是这样,是怎样写的?是不是在这写的,我把它打开一下。对,是不是我们是这样来完成的,这你好,三硅谷。
14:02
然后这边我们说有好几种写法,把这个打开一下。我梳理一下啊,同学们,这是我们的第一种写法。水到这儿。好东西都不难,东西都不难,然后呢,针对这个呢,我们画出了上面这个代码的流程图,这个流程图在哪里画的,是不是在这画的。包括代码的流程图和它的整体的一个执行变变量的一个变化,我们都在这进行了一个分析,好我把这个图呢给各位朋友截取到我们的笔记中。这个蛮重要了啊,这点我说了,一定要认真写,这是一个重点。放这,然后呢,我们把这个图整体的放在这吧。第二和第三的这个图就放在这里了。便于同学们复习,当我们把它的一个基本语法和执行流程讲完过后,是不是我们说了他的注意事项?就说我们在使用这个for循环的时候,是需要同学们注意哪些细节的,我一共跟同学们整理了几点,三点还有印象,一共有三点。
15:10
那这三点呢,最后呃,是不是也有一个代码,说明这里面有代码。代码演示,我把代码演示呢,给各位朋友板书到这里,代码演示应该是从这开始的吧,这是这是一种写法啊,这边下面的一个分析流程都有,好把这个打开。是不是这?从这开始,就是我们的一个细节说明。好,我把它呢给大家拿到我们的笔记里面去,代码演示放这。同样道理,我们加一个VO的主函数。代码扔到这里就可以,紧接着我们继续往下梳理,那我们把注意事项和细节说完了,过后我们是不是带同学们做了两道题呀?两道题,这两道题的难度呢,其实并不大。所所以说呢,应该对我们同学来说还是很容易理解的,就这两道题,这两道题我们。
16:05
把他的答案给他放这就可以了。第一道题第一道题的答案我们先梳理到这,第一个是CE1。是不是这道题啊?是从这儿开始到这儿。来完成的。好,我把这道题的答案呢,给它放到这里面。梳理到这边来。好,放这来VO的主函数。放这同学们知道心中有数,然后这道题讲完了过后,是不是讲了针对这个表达式的输出,我们又讲了一个题,这边是它的一个示意图,然后把代码给他放过来,代码是不是下面这块。包括我们的分析都有一样。放这。插出一个小表格,同样写一个主函数。好,同学们,那关于我们这个for循环。的讲解就给大家说到这儿,大家好好的体会一下,最好自己把那个流程图,把那个流程图呢,就是老师画的这个流程图。
17:08
就这个流程图自己画一遍,建议同学们都这么干漂好。如果说你自己不去画一遍,只是听老师口头上说一遍,印象是非常淡的,如果你自己画了一遍过后呢,你会有一个新的认识,会认识的更加的深刻,记得呢也更加的牢。那这一讲,我们就先给同学们说到这里。
我来说两句