2018年10月14日 星期日

C# 流程控制-for的用法

今天要來介紹for的用法,for在程式的流程控制中十分重要,所以熟悉語法是必修的一課歐。
首先先看看他的架構:
for (initializer"初始設定式"; condition"條件"; iterator"變化方式")
{    
body(迴圈主體)
}
或
for (initializer"初始設定式"; condition"條件"; iterator"變化方式")
    body(迴圈主體)
"初始設定式、條件、變化方式"三個區段都是選擇性的,可以依照需求去設定。body(迴圈主體)是陳述式或陳述式區塊,簡單來說就是我們要他執行的動作。
那我們現在建立一個Console環境來測試
我想要讓他從0數到5,程式碼如下:
for (int A = 0; A < 6; A++)
{
    Console.WriteLine(A);
}
Console.ReadLine();
"初始設定式"我設定一個int資料型別A等於0、給予他"條件"為小於6、"變化方式"的A++意思其實就是A+1的意思,最後在迴圈主體我設計每次進入迴圈就要傳出A當下的值
這解說可能不是很懂,所以我們可以運用"流程圖"來解釋,流程圖如下:
上面這就是很基礎的for迴圈,下面介紹"巢狀迴圈"。

巢狀迴圈

有時在程式設計時,遇到需要複雜運算的時候,可在迴圈中再加另一迴圈,就會形成巢狀迴圈,但記住不同層次的迴圈不得使用相同變數歐。
            for (int a = 1; a <= 9; a++)
            {
                for (int b = 1; b <= a; b++)

                    Console.Write(a + " ");

                Console.WriteLine();
            }
            Console.ReadLine();
執行完會長這樣

第一個迴圈:
首先"初始設定式"我設定一個int資料型別a等於1、給予他"條件"為小等於9、"變化方式"的a+1,最後在迴圈主體我設計每次進入迴圈就到第二個迴圈。
第二個迴圈:
"初始設定式"我設定一個int資料型別b等於1、給予他"條件"為小等於第一個迴圈的a、"變化方式"的b+1,最後在迴圈主體我設計每次進入迴圈就傳出當下的a值並空一格再跳一行。
流程圖如下:
最後我將介紹"無窮迴圈"

無窮迴圈

所謂無窮迴圈就是程式的控制流程一直在重複執行某一段程式碼,形成無法結束的情形,其原因可能是程式中的迴圈沒有設結束迴圈條件或是結束迴圈的條件不可能成立等等因素。
例一,沒有設結束迴圈條件
在"條件"中忘了指定所以造成無窮迴圈
            for (int a = 2;; a++)
            {
                    Console.Write(a);
            }
            Console.ReadLine();
例二,結束迴圈的條件不可能成立:
在"條件"指定a要小於等於5,但卻設定"變化方式"是減數,造成變數永遠不會達到值
            for (int a = 1; a <=5; a--)
            {
                Console.Write(a);
            }
            Console.ReadLine();
以上就是簡單的for介紹。
有任何問題或是我的資訊有錯歡迎在下方留言告訴我歐。
其他參考資料:
https://docs.microsoft.com/zh-tw/dotnet/csharp/language-reference/keywords/for


By:Ender
Day:2018/10/14
Time:10:54pm
Revision :REV 1.33

沒有留言:

張貼留言