發(fā)布于:2021-01-27 13:58:29
0
476
0
什么是do-while循環(huán)?
do-while循環(huán)多次迭代C ++程序的一部分。在do-while循環(huán)中,將測試表達(dá)式添加到循環(huán)的底部。循環(huán)體位于測試表達(dá)式之前。這就是循環(huán)主體必須執(zhí)行一次的原因,即使測試表達(dá)式在第一個測試中為false時也是如此。
何時使用do while循環(huán)?
當(dāng)?shù)螖?shù)不固定時,應(yīng)該使用do while循環(huán),并且循環(huán)必須至少執(zhí)行一次。C++編譯器首先在評估條件之前執(zhí)行循環(huán)體。這意味著循環(huán)必須返回一個結(jié)果。即使測試條件在第一次評估時評估為false,情況也是如此。因為循環(huán)體已經(jīng)執(zhí)行,所以它必須返回結(jié)果。
語法
循環(huán)的C++基本語法如下:
do{
//code
}while(condition);
條件是測試表達(dá)式。必須為true才能執(zhí)行循環(huán)。{和}標(biāo)記do while循環(huán)的主體。它先于條件。因此,它在條件之前執(zhí)行。
while循環(huán)是如何工作的?
流程圖說明:
開始執(zhí)行while循環(huán)。
do while循環(huán)的主體。
要計算的測試表達(dá)式或條件。
如果測試表達(dá)式為真,則C++編譯器執(zhí)行DO while循環(huán)的主體。
如果測試表達(dá)式為false,C++編譯器執(zhí)行循環(huán)體后的語句。
循環(huán)體后面的語句。
例子1
#include <iostream>
using namespace std;
int main() {
// Local variable
int x = 1;
do {
cout << "X is: " << x << endl;
x = x + 1;
} while (x < 5);
return 0;
}
輸出:
這是代碼的屏幕截圖:
代碼說明:
在我們的代碼中包括iostream頭文件。這將使我們能夠讀取和寫入控制臺。
包括std名稱空間,以便在不調(diào)用它的情況下使用它的類和函數(shù)。
調(diào)用main()函數(shù),其中應(yīng)添加程序邏輯。{標(biāo)記main()函數(shù)主體的開始。
一條評論。C++編譯器將跳過此。
聲明整數(shù)變量x并將其賦值為1。
創(chuàng)建do while循環(huán)。{標(biāo)志著循環(huán)體的開始。
將變量x的值與控制臺上的其他文本一起打印。Endl是一個C++的詞條,意思是結(jié)束行。
每次迭代后將x的值增加1。
循環(huán)體結(jié)束。測試表達(dá)式已添加到循環(huán)體的末尾。它測試x的值是否小于5。
如果程序運行正常,main()函數(shù)應(yīng)該返回一個值。
main()函數(shù)主體的結(jié)尾。
例子2
#include <iostream>
using namespace std;
int main()
{
int num, sum = 0;
do {
cout << "Enter a number: ";
cin >> num;
sum += num;
} while (num != 0);
cout << "Sum is " << sum;
return 0;
}
輸出:
以下是代碼截圖:
代碼說明:
在我們的代碼中包含iostream頭文件。它將允許我們讀取和寫入控制臺。
包括std名稱空間,以便在不調(diào)用它的情況下使用它的類和函數(shù)。
調(diào)用main()函數(shù),其中應(yīng)添加程序邏輯。
標(biāo)記main()函數(shù)主體的開始。
聲明兩個整數(shù)變量num和sum。變量sum已初始化為0。
創(chuàng)建do while循環(huán)。{標(biāo)志著循環(huán)體的開始。
打印控制臺上的“輸入數(shù)字:”文本。
從控制臺讀取用戶輸入并將值存儲在變量num中。cin(控制臺輸入)是一個讀取用戶輸入的函數(shù)。
將num的值與sum的值相加,并將結(jié)果存儲在變量sum中。
標(biāo)記循環(huán)體的結(jié)束。測試表達(dá)式已添加到循環(huán)體的末尾。它測試用戶輸入的值是否為0。這個!=不等于運算符。如果用戶輸入0,循環(huán)應(yīng)該終止。
在控制臺上與其他文本一起打印變量和的值。
如果程序運行正常,main()函數(shù)應(yīng)該返回一個值。
main()函數(shù)主體的結(jié)尾。
嵌套Do While循環(huán)
在C++中,我們可以創(chuàng)建一個DO,而另一個循環(huán)則在整個循環(huán)中。這將導(dǎo)致一個嵌套的do while循環(huán)。
語法
do{
statement(s)
do{
statement(s)
}while(condition);
statement(s)
}while(condition);
第一個do語句表示外部do while循環(huán)的do部分。
第二個do語句表示內(nèi)部do while循環(huán)的do部分。
第一個while語句表示內(nèi)部循環(huán)的測試條件。
第二個while語句表示外循環(huán)的測試條件。
While循環(huán)是如何工作的
嵌套do while循環(huán)的工作方式如下:
步驟1:初始化首先執(zhí)行一次。
步驟2:語句(do)執(zhí)行一次。
第3步:通過流控制對測試表達(dá)式進(jìn)行求值。
步驟4:如果為真,則執(zhí)行內(nèi)部循環(huán)。
步驟5:更新語句。
步驟6:過程重復(fù)運行,直到測試表達(dá)式變?yōu)閒alse。
步驟7:當(dāng)測試表達(dá)式變?yōu)閒alse時,退出內(nèi)部循環(huán),控制跳到外部循環(huán)。
第8步:再次評估測試條件。
步驟9:如果為true,則執(zhí)行語句以返回false。
第10步:循環(huán)執(zhí)行停止,控制跳到循環(huán)后的語句。
例子:
#include <iostream> using namespace std; int main() { int a = 1; do { int b = 1; do { cout << a << "n"; b++; } while (b <= 3); a++; } while (a <= 3); }
輸出:
以下是代碼截圖:
代碼說明:
在我們的代碼中包含iostream頭文件。它將允許我們讀取和寫入控制臺。
包括std名稱空間,以便在不調(diào)用它的情況下使用它的類和函數(shù)。
調(diào)用main()函數(shù),其中應(yīng)添加程序邏輯。標(biāo)記main()函數(shù)主體的開始。
聲明整數(shù)變量a并將其賦值為1。
創(chuàng)建外部do while循環(huán)。標(biāo)志著外循環(huán)體的開始。
聲明整數(shù)變量b并將其賦值為1。
創(chuàng)建內(nèi)部do while循環(huán)。標(biāo)志著內(nèi)環(huán)體的開始。
在控制臺上打印變量a的值?!皘 n”是一個新行字符,用于將鼠標(biāo)光標(biāo)移動到下一行。
每次迭代后將b的值增加1。
內(nèi)環(huán)體的末端。測試表達(dá)式已添加到循環(huán)體的末尾。它測試b的值是否小于或等于5。
每次迭代后將a的值增加1。
外環(huán)體的末端。測試表達(dá)式已添加到循環(huán)體的末尾。它測試a的值是否小于或等于3。
main()函數(shù)主體的結(jié)尾。
摘要
do while循環(huán)多次運行一段代碼。
當(dāng)?shù)螖?shù)不固定時,應(yīng)使用它。
在do while循環(huán)中,循環(huán)體位于測試表達(dá)式之前。
循環(huán)體至少執(zhí)行一次,即使測試表達(dá)式變?yōu)閒alse。
當(dāng)?shù)螖?shù)不固定時,應(yīng)使用此循環(huán)。
如果條件為真,則Do while循環(huán)可以運行任意次數(shù)。
條件在每次迭代后評估一次。
條件評估的結(jié)果決定要采取的行動。
如果條件為真,則循環(huán)執(zhí)行主體。
循環(huán)的執(zhí)行立即停止,條件的計算結(jié)果為false。
由于do while循環(huán)體已經(jīng)執(zhí)行,它必須返回結(jié)果。