• for循环控制


     今天回来有点晚,所以可能编译有点急,希望大家谅解吧!

    今天来学学for循环和do-While循环吧!

    do-while循环-----

    1. do-while循环结构.
     无论如何do-while是1种循环结构.所以它的作用 仍然是 将1段代码进行反复不停的执行指定的次数.
     一样是来做循环的事情.
     2. 语法
     do
     {
     循环体;
     }while(bool表达式);

    //不断要求用户输入一个数字(假定用户输入的都是正整数),当用户输入end的时候显示刚才输入的数字中的最大值
                int max = int.MinValue;
                do
                {
                   Console.WriteLine("请输入1个整数:");
                    string input = Console.ReadLine();//先原样接收用户的输入.
                    if (input != "end")//如果用户输入的不是"end" 
                    {
                        //那么就是输入的数字 我们就做转换 并比较 如果大于擂台变量的值 就上去.
                        int num = int.Parse(input);
                     if (num > max)
                       {
                           max = num;
                        }
                    }
                   else
                    {
                       //说明用户输入的是end; 打印最大值 并且结束. 
                      Console.WriteLine("最大的是" + max);
                       break;//结束循环.
                   }
                }while(true);

     3. 执行步骤.
    第1步: 不管3721先执行1次循环体.
     第2步: 计算bool表达式的结果.
     2.1 如果结果为true。再次执行循环体.执行完毕后. 跳回第2步.
     2.2 如果结果为false。结束do-while循环结构.

    我们分析到:
     do-while循环 在第一次执行循环体的时候 是无条件执行的.
     要不要继续执行第2次 这个时候才根据循环的条件来决定.

     4. 什么时候使用do-while循环.
    特点: 在于循环体无论如何都会执行1次.
     什么时候使用? 当循环体至少要执行1次的时候 我们就可以使用do-while结构.

     5. while与do-while的区别.
     相同点:都是循环.
     不同点:
     1). while循环是 先判断 再执行. while循环的的循环体有可能1次也不执行. 小心翼翼.
     2) do-while循环 是先执行 再判断. do-while循环的循环体无论如何至少会执行1次 先斩后奏.

     当循环体至少要执行1次的时候, 我们可以用do-while是最佳的选择. 我们仍然可以使用while循环.while(true)

    for循环----------

    1. for循环仍然是1个循环.仍然是用来将1段代码进行反复不停的执行指定的次数.
     与while循环仅仅是语法上的区别 实现的功能与实现的思路都是一样的.
     2. for循环的语法.
     for(初始化表达式;bool表达式;循环后操作表达式)
     {
     循环体;
     }

    //请写1个程序,将100-999之间的水仙花数打印出来.
                //水仙花数? 1个三位数. 各位数的立方和 刚好等于该数本身.
                //153  1 125 27
    
                for (int i = 100; i <= 999; i++)//100  101
                {
                    //只需要判断i是不是1个水仙花数.
                    int bai = i / 100; //1
                    int shi = i % 100 / 10;//0
                    int ge = i % 10;  //0
                    if (bai * bai * bai + shi * shi * shi + ge * ge * ge == i)
                    {
                        Console.WriteLine(i);
                    } 
                }

     3. 执行步骤.
     第1步: 执行初始化表达式.
     第2步: 计算bool表达式的结果.
    2.1 如果结果为true. 就执行循环体.
     循环体执行完毕以后. 再执行循环后操作表达式.
     循环后操作表达式执行完毕之后,
     跳回第2步骤.
     2.2 如果结果为false 就结束for循环.

     特别注意的地方:初始化表达式只会执行1次.

    4. for循环中的3个表达式可以不写.分号不能省略.
     如果第2个表达式不写 就代表这是1个死循环. 默认就是1个true。


     5. 初始化表达式其实可以省略不写。
     这个地方可以写任意的1句代码. 这个地方不是说只能声明1个变量.
     一般情况下 我们在这里声明1个循环增量 用来记录循环的次数.

     第2个表达式必须是1个bool表达式. 它是我们循环继续的条件.
    要写的话 就必须是1个bool表达式 要么就直接不写 这样的话默认就是true。

    循环后的操作表达式任意的语句都可以的. 只不过一般情况下我们在这里修改循环增量的值.

     6. 虽然for循环第1、个表达式可以任意写.但是一般情况下.
     在初始化表达式中声明1个循环增量.
    循环后操作表达式中修改循环增量的值.

     7. 使用while循环写的代码 一定可以使用for循环写.
     使用for循环写的代码 一定可以使用while循环来写.

    一般情况下的建议:
     对于循环次数确定的循环,建议使用for循环 。
     对于循环次数不确定的循环 建议使用while循环.

    -----------------------双重for循环----

    嵌套循环

    1. 循环的循环体中有1个循环结构.
     不要想太多. 里面的循环只不过是外面的循环的1个循环体而已.
    当外面的循环的条件成立的时候 就会执行循环体

     2. 我们声明时候要写1个嵌套循环.
     嵌套循环的特点在于: 外面的循环 循环1次 里面的循环要循环所有次.

    3. 时光飞逝.
     地球围绕着太阳转1圈 是1年 公转.
    地球围绕着太阳转的同时. 地球也在发生自转。 自转1圈是1天.
     在地球完成1圈公转 它完成了365次自转.

    //打印5行, 第1行1颗星 第2行2颗星 第3行3颗星 第4行4颗星 第5行5颗星. 
                for (int i = 0; i < 10; i++)//控制行数
                {
                    for (int j = 0; j < i + 1; j++)
                   {
                       Console.Write("*");
                   }
                    Console.WriteLine();
                }

    打印9*9乘法表也是这个原理了

    ---------------------------go-to语句---

     1. goto 关键字. 可以将CPU引到别处去执行.
     首先应该为指定的代码处 取1个地名.
     然后使用goto关键字 后面接上地名 就可以将CPU转到地名处执行.
     2. 取名字的时候要遵守变量的命名规则.
     3. 不建议使用goto来完成循环的功能.
     因为goto不安全.容易造成死循环.

        int i = 0;
            itcast: 
                Console.WriteLine("A");
                Console.WriteLine("B");
                if (i < 5)
                {
                    goto itcast;
                }
     
                Console.WriteLine("C");
                Console.WriteLine("D"); 
                Console.WriteLine("E"); 
                Console.ReadKey();
            }

    好了今天就讲到这里吧,祝大家学习愉快!

  • 相关阅读:
    模拟赛20181101 雅礼 Wearry 施工 蔬菜 联盟
    模拟赛20181031 雅礼 Wearry 养花 折射 画作
    set/priority_queue的运算符重载
    set的完整用法
    最长公共上升子序列 O(n^2)
    无向图边双联通分量 tarjan 模板
    ID 迭代加深搜索 模板 埃及分数
    树上背包DP Luogu P2014 选课
    A* 第k短路
    [POJ3468]关于整数的简单题 (你想要的)树状数组区间修改区间查询
  • 原文地址:https://www.cnblogs.com/sabry34126/p/3777126.html
Copyright © 2020-2023  润新知