for语句嵌套执行顺序_8:[C#入门] 循环语句 for

具备一定规则的重复机械事项,你可以试试循环

循环,我能找到最早期的解释词:周而复始, 即重复的,一次又一次的执行某个动作|行为|。 在程序 中,多用来实现一些重复执行 或者有规律的操作。 举个栗子 学英语时,听写噩梦,如果写错了,罚抄100遍。这对程序来说就不是事情了,我们只需要如此这般,这般如此,就好了。
static void Main(string[] args){    for (int i = 0; i 100; i++)    {        Console.WriteLine("So Easy");    }    Console.ReadKey();}
for循环 语法结构:
for(int i =0;i<100;i++){    要循环执行的内容;}
for循环的关键字就是for,其后跟着一组表达式以及一个要执行的语句块即:
for(表达式){    语句块;}
其中表达式分为三个部分。 [1]
int i = 0;
这里是在循环的内部定义了一个作用于计数的变量,用来统计循环执行次数的。[2]
i < 100;
这里是用来明确表示循环结束的条件。如果循环没有明确结束的条件,则程序会进入“死循环”。死循环不会终止,直到程序占用的系统资源耗尽。 (知识点,圈起来,要考的。) [3]
i++
这块比较好理解,i++就是i = i + 1的缩写。也可以写成i+=1;都是一个意思。其实是为了让循环的计数+1,从而执行下一次循环。 当程序执行到for循环时,会先执行一次第一部分(该部分只会执行一次)。然后执行第二部分,如果第二部分条件满足,则执行循环语句块里的内容,如果条件不满足,则会结束循环。循环内部语句块执行完毕后,将会执行第三部分。然后再次执行第二部分·····直到第二部分判断条件不满足,将会结束循环。 所以for循环执行的分解动作就是: 12323232323232323232····over。 图解:

c96cba0ca5b7645ef2c548acdc3ccef1.png

例题 1
使用循环从1加到100:
static void Main(string[] args){    int num = 0;    for (int i = 1; i <= 100; i++)    {        num += i;    }    Console.WriteLine("从1加到100的结果为:"+num);    Console.ReadKey();}
例题 2 嵌套循环 使用循环打印输出一个直角三角形
static void Main(string[] args){    int line = 10;//设定输出的三角形行数    for (int i = 1; i <= line; i++)//第一次循环控制行    {        for (int k = 0; k //第二次循环控制 *的输入数量        {            Console.Write("*");        }        Console.WriteLine();//输出换行    }    Console.ReadKey();}
学习往往是这样,学的东西只能解答例题1,考试的时候给你出例题2。我们来讲解一下例题2的代码。 嵌套循环,我们在业内表达时,经常用“外层循环”和“内层循环”去表达。特指一个循环编写在另一个循环的语句块中。程序在运行的时候是逐行执行的。所以在例题二中,外层循环条件一旦满足将会进入外层循环的语句块,从而触发内层循环的执行。 我有一个 梦想 心得,当你看到复杂的代码,你就去拆分他。从结构上去把他拆分成一块一块的,这样好下嘴一些。(我个人把这个心得命名为 吃螃蟹心得,稍后详细分享一下。)如例题2,新手朋友一定会蒙圈,我们可以联系上文讲到的分解动作去看,我们先把外层循环代号为A,内层循环代号为B。分级动作就是:
A1 - A2 - B1 - B2 -B3 - A3 - A2 -B1- B2 - B3 - A3........over 套用分解动作去看循环就很好理解了。只需要记住他的执行顺序就可以掌握他的规律,从而根据循环体的语句块去计算他实际在重复执行的动作。
//第【1】次循环//内层循环输出1个“*”号。//外层循环输出1个换行。//第【2】次循环//内层循环输出2个“*”号。//外层循环输出1个换行。//第【3】次循环//内层循环输出3个“*”号。//外层循环输出1个换行。.....
如此这般,这般如此,最终结果就出现一个直角的三角形。 例题3  使用循环输出一个 斐波那契数列,也称“兔子数列”。它的规则是第三个数字为前两个数字之和。 例如: 1,1,2,3,5,8,13,21,34,55.......... 那么循环如何实现呢?上代码:
static void Main(string[] args){    int totalNumber = 10;//最大输出10个数字    int num_1 = 1;//规则中的第一个数字    int num_2 = 1;//规则中的第二个数字    int tempNumber = 0;//前两个数字之和    for (int i = 0; i < totalNumber; i++)    {        tempNumber = num_1 + num_2;//计算前两个数字之和        Console.Write(tempNumber);//输出数字        Console.Write(",");//输出一个逗号用作分割        num_1 = num_2;//将第二个数字给第一个。        num_2 = tempNumber;//将第三个数字给第二个。    }    Console.ReadKey();}
这种题目看似复杂,其实了解他的规则以后就很好理解了。我们还是把一个看似复杂的问题进行拆分,兔子数列是一长串数列,但是其某个单一节点只是由三个数字组成的,而这三个数字中间添加上“+”号和“=”号就可以变成等式。其后要做的也只是像击鼓传花那样,每次求和计算后,让其顺序的传递数字即可。 (击鼓传花,只有当前节点的传花的人和被传花的人,再次之前的人已经不重要了。)
// 1,1,2// 转换为等式并求和// 1+1=2// 击鼓传花// 1+2=x// 求和// 1+2=3// 击鼓传花// 2+3=x.....
其实循环除了for还有几种其他的循环语法,但是新手先弄明白for循环吧,其他循环后面也会慢慢讲到。

aa8bfe7f6b1b3b8c91aa2f6ee4ea37ec.png

学习过程中有疑问,请在公众号后台留言 题外话 [1]前文例题2中的 “ 我有一个 梦想 ”  是向马丁·路德·金致敬!别问为什么,问就是情怀。 [2]有些看似复杂的题目,在你无从下手的情况下,通过拆分他细微的核心点,很快就可以找到解决办法。  End

6f91a51c5731fe4cf49970c79492a699.png

网络一线牵,珍惜这段缘,上车请坐稳扶好
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值