zoukankan      html  css  js  c++  java
  • C#流程控制语句--迭代语句(while,do....while, for , foreach)

    迭代语句:有的时候,可能需要多次执行同一块代码。函数中的第一个语句先执行,接着是第二个语句,依此类推。

    迭代语句:while(先检查后执行)

    while(条件表达式 bool类型)

    {

        代码语句

    }

    For example 

                int iNum = 1;       //iNum从1到100递增
                int iSum = 0;           //记录每次累加后的结果
                while (iNum <= 100)     //iNum <= 100 是循环条件
                {
                    iSum += iNum;       //把每次的iNum的值累加到上次累加的结果中
                    iNum++;         //每次循环iNum的值加1
                }
                Console.WriteLine("1到100的累加结果是:" + iSum);   //输出结果
                Console.ReadLine();
                int N = 1;
                int iSum = 0;
                while (true)
                {
                    iSum += N;
                    if (iSum <= 500)
                        N = N + 2;
                    else
                        break;
                }
                Console.WriteLine("1+3+5+…+n>500的最小正整数n的值为:" + N);
                Console.ReadLine();
                Console.WriteLine("——————猜数字游戏——————
    ");
                int iNum;
                int iGuess;
                Random rand = new Random();
                iNum = rand.Next(1, 200);//生成1到200之间的随机数
                Console.Write("请输入你猜的数字:");
                iGuess = Convert.ToInt32(Console.ReadLine());//输入首次猜测的数字
                while ((iGuess != -1) && (iGuess != iNum))
                {
                    if (iGuess < iNum)//若猜测的数字小于基准数,则提示用户输入的数太小,并让用户重新输入
                    {
                        Console.Write("太小,请重新输入:");
                        iGuess = Convert.ToInt32(Console.ReadLine());
                    }
                    else//若猜测的数字大于基准数,则提示用户输入的数太大,并让用户重新输入
                    {
                        Console.Write("太大,请重新输入:");
                        iGuess = Convert.ToInt32(Console.ReadLine());
                    }
                }
                if (iGuess == -1)//若最后一次输入的数字是-1,循环结束的原因是用户选择退出游戏
                {
                    Console.WriteLine("退出游戏!");
                }
                else//若最后一次输入的数字不是-1,用户猜对数字,获得成功,游戏结束
                {
                    Console.WriteLine("恭喜你,你赢了,猜中的数字是:" + iNum);
                }
                Console.WriteLine("
    ———————游戏结束———————");
                Console.ReadLine();

    迭代语句:do....while(先执行后检查至少执行一次)

    do 

    {

    代码语句

    }while(表达式条件bool)

    For example

                Console.WriteLine("请输入一个整数:");
                int iNum = Convert.ToInt32(Console.ReadLine());//记录输入的数据
                int iResult = 1;//记录结果
                do
                {
                    iResult *= iNum;//执行相乘操作
                    iNum--;//值减一
                } while (iNum > 0);//设置判断条件
                Console.WriteLine("阶乘结果是:" + iResult);//输出结果
                Console.ReadLine();
    int iNum = 1;                           //iNum从1到100递增
                int iSum = 0;                               //记录每次累加后的结果
                do
                {
                    iSum += iNum;                           //把每次的iNum的值累加到上次累加的结果中
                    iNum++;                                 //每次循环iNum的值加1
                } while (iNum <= 100);                  //iNum <= 100 是循环条件
                Console.WriteLine("1到100的累加结果是:" + iSum);//输出结果
                Console.ReadLine();

    迭代语句for

    for(初始条件;判断条件;循环条件)

    {

    循环语句;

    }

    For example

                int iSum = 0;
                int iNum;
                for (iNum = 1; iNum <= 100; iNum++)
                {
                    if ((iNum % 2) != 0)  //判断是否为奇数
                        iSum += iNum;  //若是奇数,则进行累加
                }
                Console.WriteLine("1到100之间的奇数的和:" + iSum);
                Console.ReadLine();
                int iSum = 0;                               //记录每次累加后的结果
                for (int iNum = 1; iNum <= 100; iNum++)
                {
                    iSum += iNum;                           //把每次的iNum的值累加到上次累加的结果中
                }
                Console.WriteLine("1到100的累加结果是:" + iSum);   //输出结果
                Console.ReadLine();

    int iRow, iColumn;                                  //定义行数和列数
                for (iRow = 1; iRow < 10; iRow++)                       //行数循环
                {
                    for (iColumn = 1; iColumn <= iRow; iColumn++)       //列数循环
                    {
                        //输出每一行的数据
                        Console.Write("{0}*{1}={2} ", iColumn, iRow, iRow * iColumn);
                    }
                    Console.WriteLine();                            //换行
                }
                Console.ReadLine();
                 for (int i = 1; i <= 5; i++)//输出5行的金字塔
    { for (int j = 1; j <= 5 - i; j++)//控制每一行的空白位置 { Console.Write(" "); } for (int k = 1; k <= 2 * i - 1; k++)//控制每一行的*个数 { Console.Write("*"); } Console.WriteLine();//换行 } Console.ReadLine();

    迭代语句foreach

    foreach(类型  变量 in 集合 )

    {

    代码体

    }

    For example

    Console.WriteLine("请输入一个英文句子");
    string str=Console.ReadLine("你输入的句子包含以下单词');
    foreach(char word in str)
      {
         if (char.IsWhiteSpace(word))
           {
               Console.Write();
            }
      else
           {
               Console.Write(word);
            }
       }
        Console.ReadKey();

    注:实例有三个部分:

    • 通过 foreach 循环输出整型数组中的元素。

    • 通过 for 循环输出整型数组中的元素。

    • foreach 循环设置数组元素的计算器。

    foreach语句:

    每执行一内含的代码时,循环变量就会依次读取集合中的一个元素。

    此处的循环变量是一个只读型的局部变量,这个值如果被修改编译器会发生错误。

     

    Copyright@libaichen 287944304@qq.com
  • 相关阅读:
    同名的const 成员函数
    模板元编程中的“hello world”
    枚举联合不能用作基类,也不能有基类
    不能重载的操作符
    不同级别成员对应三种继承的结果:
    c++ error: creating array of references( declaration of 'a' as array)
    leetcode 剑指offer 03 数组中重复的数字
    Lintcode 89 K sum
    leetcode 322. Coin Change
    Leetcode 416. Partition Equal Subset Sum
  • 原文地址:https://www.cnblogs.com/liberal/p/10714131.html
Copyright © 2011-2022 走看看