C#流程控制語句--叠代語句(while,do....while, for , foreach)
阿新 • • 發佈:2019-04-16
語句 dash rgs sum 換行 pac 定義 奇數 就會 do
叠代語句:有的時候,可能需要多次執行同一塊代碼。函數中的第一個語句先執行,接著是第二個語句,依此類推。
叠代語句: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)