C#核心開發-第9單元-do...while循環
1. 基本概念
在C#中,共有4個與循環相關的語句:for、foreach、while、do…while,今天主要來學習do…while循環,前3個循環已詳細講解過了,可以對比一下,看這4個循環有什麼區別。
do…while與while語句相似,它的判斷條件在循環後,do…while稱為後測試循環。
do…while 循環會在計算條件表達式之前至少執行一次循環,而while循環至少執行0次循環,這也是二者的本質區別。
2. 基本語法
C#中的do…while循環的基本語法如下:
do{循環體(語句塊)} while(條件表達式);
從基本語法上看,與while循環的唯一區別,就是將循環條件表達式放在了最後。這樣可以實現無論條件表達式是否為true,則都會至少循環一次,先循環再判斷。
do…while循環也必須要求在循環體內要有改變循環變量值的地方,否則會陷入死循環。
注意:do…while循環的條件表達式後面要使用分號(;)結尾。
3. 案例一
題目:使用C#中的do…while循環輸出1-10之間的所有整數。
描述:首先定義一個循環變量放在do…while語句的上面,並賦初值為1,然後條件設置為i<=10。
使用VS2019創建一個.NET控制臺應用程式,並編寫如下C#代碼:
圖1的代碼說明如下:
(1). 首先定義一個循環變量i,由於是從1開始的,所以給變量i賦值為1。
(2). 無條件執行1次循環體,輸出i的值1。
(3). 再執行條件表達式判斷結果是否true,1<=10,結果為true,則繼續執行循環體,一直到條件表達式的值為false,則結束循環,執行後面的代碼。
(4). 執行完後,i的值是11,只有i=11才能退出do…while循環。
(5). do…while與while一樣,在循環體必須存在改變循環變量值的地方,如i++,這樣i的值累加到一定值就會退出循環。
運行一下結果:
在圖2中,已經輸出1-10之間的所有整數了。
使用while能實現的循環,使用do…while也能實現,就看怎麼設計了,再者看使用哪個更容易實現。
4. 案例二
題目:使用C#中的do…while循環求出1-100之間的所有奇數之和。
描述:首先循環出1-100之間的所有整數,然後使用if對每個整數進行判斷,看是否是奇數,如果是奇數就累加。奇數是指不能被2整除的整數。
代碼:
圖3的代碼說明如下:
(1). 定義2個變量,1個是循環變量,1個是存儲所有奇數的和。
(2). 無條件執行一次循環體。
(3). 對i進行判斷,如果不能被2整除,則是奇數,累加到count變量中。
(4). 執行i++,改變變量i的值。
(5). 最後判斷條件是否為true,如果為true則繼續循環,否則退出循環。
(6). 退出循環後輸出所有奇數之和。
運行一下結果:
在圖4中已輸出1-100之間的所有奇數之和為2500。
也可以輸出所有的奇數,我們查看一下是否正確:
在圖5中輸出所有的奇數,並使用逗號隔開。
運行一下結果:
在圖6中輸出了1-100之間的所有奇數,結果是正確的。
總結:在.NET開發中,C#語言是使用最多的語言,其中的while和do…while循環基本上能實相同的功能,只是語法上有些不同而已。