do...while循環(huán)與while循環(huán)不同,它首先執(zhí)行一次循環(huán)體,然后判斷條件,屬于直到型循環(huán),即直到條件為假時退出循環(huán)體,執(zhí)行循環(huán)后面的語句,其語法結(jié)構(gòu)如下:
do
{
循環(huán)體語句;
}while(表達式);
其中:表達式可以是關(guān)系表達式、邏輯表達式或其它值為“真”或“假”的表達式,其用于使循環(huán)進行下去的條件。
循環(huán)體語句可以是簡單語句或復(fù)合語句。
其執(zhí)行過程為:
首先執(zhí)行一次循環(huán)體語句;然后測試循環(huán)進行的條件,即判斷表達式的計算結(jié)果,如果結(jié)果為“真”(true)則重復(fù)執(zhí)行循環(huán)體語句;直到表達式的結(jié)果值為“假”(false)時,退出循環(huán),執(zhí)行do…while循環(huán)后面的語句。
注意:
(1)C#中的do...while循環(huán)與C語言或C++中的循環(huán)稍有不同,其用于判斷循環(huán)是否繼續(xù)執(zhí)行的表達式的值只能為”true“或”false“,而C語言或C++中可用是否為非0值來判斷;
(2)do...while循環(huán)中的表達式括弧后面必須有一個分號(;)(見語法結(jié)構(gòu)中的紅色分號),如丟掉此分號,則會報告語法錯誤。
該循環(huán)的特點:
do…while循環(huán)不管條件是否滿足,循環(huán)體中的語句至少被執(zhí)行一次。
下面用使用一個例子來說明:
using System;
namespace DoWhile
{
class Program
{
//此例演示求1-100之間的整數(shù)和
static void Main(string[] args)
{
//i用來存儲當前的整數(shù),sum保存所求之和
int i = 0, sum = 0;
do
{
i++;
sum += i; //每次都將i加入sum中
}
while (i < 100);
Console.WriteLine("1-100之間的整數(shù)和為:{0}", sum); //輸出和
Console.ReadKey();
}
}
}
輸出結(jié)果如下:
下面再用一個例子來說明do...while語句的使用:
這個例子演示循環(huán)輸入并輸出字符串的例子,直到用戶輸入quit后退出循環(huán)。
using System;
namespace DoWhileString
{
class Program
{
static void Main(string[] args)
{
string str; //存儲用戶輸入的字符
string tmpStr;
Console.WriteLine("--------輸入并輸出字符串程序-------");
do
{
Console.Write("/n請輸入一個字符串:");
str = Console.ReadLine();
tmpStr = str.ToLower(); //將字符串轉(zhuǎn)換為小寫
if (tmpStr != "quit")
Console.WriteLine("/n輸出:" + str);
}
while (tmpStr != "quit");
Console.WriteLine("你已經(jīng)成功退出do...while循環(huán)。");
Console.ReadKey();
}
}
}
運行結(jié)果為:
新聞熱點
疑難解答
圖片精選