1. 程式人生 > >C#流程控制語句--叠代語句(while,do....while, for , foreach)

C#流程控制語句--叠代語句(while,do....while, for , foreach)

語句 dash rgs sum 換行 pac 定義 奇數 就會

叠代語句:有的時候,可能需要多次執行同一塊代碼。函數中的第一個語句先執行,接著是第二個語句,依此類推。

叠代語句: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("——————猜數字遊戲——————\n
"); 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("\n———————遊戲結束———————"); 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();

 static void Main(string[] args)
        {
            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語句:

每執行一內含的代碼時,循環變量就會依次讀取集合中的一個元素。

此處的循環變量是一個只讀型的局部變量,這個值如果被修改編譯器會發生錯誤。

C#流程控制語句--叠代語句(while,do....while, for , foreach)