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