學習過前面的知識以後,我們已經可以寫出一些簡單的程式,例如:編寫一個程式在螢幕中列印出1+2的和,太簡單了?沒關係一步一步來嘛,就像電影《讓子彈飛》裡面有一句話,飯要一口一口吃,路要一步一步走,步子邁大了,哢。。。。。。容易。。。。 哈哈! 好吧,不瞎扯了,還是看上面那個簡單的程式吧。
1. 一個簡單程式的實現
首先看下代碼:
- int i = 1;
Console.WriteLine("i+2={0}", (i + 2));
確實很簡單,慢慢的提高難度,在加入之前講過的分支結構,現在需求是,使用者輸入一個整數數字,根據輸入的整數數字來顯示該數字是奇數還是偶數。代碼如下:
1 Console.Write("請輸入一個整數:");
2 int i = Convert.ToInt32(Console.ReadLine());
3 if (i % 2 == 0)
4 {
5 Console.WriteLine("整數{0}為偶數!",i);
6 }
7 else
8 {
9 Console.WriteLine("整數{0}為奇數!",i);
10 }
好的,看下輸出的結果:
確實很簡單吧,那麼接下來我們在來看一個需求,現在要求計算出 1 + 2 + 3 + 4 + 5的和!我們很快就成想到使用如下代碼:
int sum = 1 + 2 + 3 + 4 + 5;
Console.WriteLine("(1 + 2 + 3 + 4 + 5)={0}",sum);
那麼如果是 1 + 2 + 3 + 4 + 5 + 。。。。。。1000呢?
2.提出問題引入迴圈
在解決上面的問題之前,我需要引述C#中for迴圈語句,首先我們來介紹一下for語句的基本格式與文法。
- for (①;② ;④ )
- {
- ③
- }
①:迴圈控制變數初始化,只在第一次迴圈開始時執行
②:迴圈控制Variant 運算式判斷
③:迴圈執行代碼地區
④:迴圈控制變數增量
執行順序就是我所編號的順序。好那麼來看一個例子,螢幕中列印1 2 3 ,代碼如下:
for (int i = 1; i <= 3; i++)
{
Console.Write("{0} ", i);
}
Console.WriteLine();
分析一下吧:
迴圈第一次:首先是int i=1,接下來判斷 i<=3,因為1<=3成立所以執行,Console.Write,接著i++.
迴圈第二次:此時經過上一輪執行i的值為2,判斷2<=3從成立,繼續執行Console.Write,接著i++
迴圈第三次:i的值為3,判斷3<=3成立,繼續執行Console.Write,繼續i++
結束: 此時i的值經過第三次i++後,值變為4,執行條件判斷地區4<=3不成立,結束迴圈!
執行結果如下:
解決上邊遺留問題,計算:1 + 2 + 3 + 4 + 5 + 。。。。。。1000的和,介紹完迴圈語句我想這個時候大家就會感覺這個問題一下子就變得簡單了。簡單了也要貼出代碼:
int sum = 0;
for (int i = 1; i <= 1000; i++)
{
sum += i;
}
Console.WriteLine(sum);
好的,問題暫時告一段落,我們來看下C#還有哪幾種迴圈的方式.
3.C#中的幾種迴圈
1. while 迴圈
基本格式與文法:
- while(①)
- {
- ②
- }
① 布爾值,也可是計算布爾的運算式
② 程式執行的代碼
執行順序為我序號的順序,同樣用螢幕顯示 1 2 3的例子來詮釋while迴圈語句:
int i = 1;
while (i <= 3)
{
Console.Write("{0} ",i);
i++;
}
Console.WriteLine();
2. do .. while 迴圈
基本格式與文法:
- do
- {
- ①
- } while (②);
① 代碼執列區域,與while不同的是,do ..while會先執行代碼地區在執行條件地區
② 迴圈條件執列區域,布爾值,也可是計算布爾的運算式
執行順序為我序號的順序,繼續用螢幕列印1 2 3的例子來詮釋,代碼如下:
int i = 1;
do
{
Console.Write("{0} ", i);
i++;
} while (i<=3);
Console.WriteLine();
3. foreach
foreach我將會在後面文章介紹。
4.使用do..while構建互動性強的應用
介紹完C#迴圈控制語句後,我們來看一下如何用do..while語句構建互動性較好的程式,以上邊的判斷奇數偶數的問題為例,我們需要使用者屬於一個數字判斷是奇數還是偶數,判斷完成之後我們需要使用者輸入繼續嗎?如果使用者輸入Y,表示繼續,否則表示停止程式。我們來看代碼如下:
string yon = "y";
do
{
Console.Write("請輸入一個整數:");
int i = Convert.ToInt32(Console.ReadLine());
if (i % 2 == 0)
{
Console.WriteLine("整數{0}為偶數!", i);
}
else
{
Console.WriteLine("整數{0}為奇數!", i);
}
Console.Write("繼續嗎?(輸入Yes為繼續,其他為停止):");
yon = Console.ReadLine();
} while ("yes" == yon.ToLower()); Console.WriteLine();
分析一下上邊代碼:
首先執行do中的程式碼片段,輸入數字判斷奇偶,緊接著輸入是否繼續,根據輸入的字元判斷是否進行下一輪迴圈。執行結果如下:
迴圈語句就暫時介紹到這裡啦!