新浪推網(wǎng)站阿里大數(shù)據(jù)官網(wǎng)
C++中使用while循環(huán)
C++關(guān)鍵字 while 可幫助您完成程序中 goto 語句完成的工作,但更優(yōu)雅。 while 循環(huán)的語法如下:
while(expression)
{// Expression evaluates to trueStatementBlock;
}
只要 expression 為 true, 就將反復(fù)執(zhí)行該語句塊。因此, 必須確保 expression 在特定條件下將為 false,否則 while 循環(huán)將永不停止。
以下程序使用 while 而不是 goto 讓用戶能夠重復(fù)計(jì)算:
#include <iostream>
using namespace std;int main()
{char userSelection = 'm'; // initial valuewhile (userSelection != 'x'){cout << "Enter the two integers: " << endl;int num1 = 0, num2 = 0;cin >> num1;cin >> num2;cout << num1 << " x " << num2 << " = " << num1 * num2 << endl;cout << num1 << " + " << num2 << " = " << num1 + num2 << endl;cout << "Press x to exit(x) or any other key to recalculate" << endl;cin >> userSelection;}cout << "Goodbye!" << endl;return 0;
}
輸出:
Enter the two integers:
56
25
56 x 25 = 1400
56 + 25 = 81
Press x to exit(x) or any other key to recalculate
r
Enter the two integers:
365
-5
365 x -5 = -1825
365 + -5 = 360
Press x to exit(x) or any other key to recalculate
x
Goodbye!
分析:
第 7~19 行的 while 循環(huán)包含了該程序的大部分邏輯。 while 循環(huán)檢查表達(dá)式 (userSelection != ‘x’)
,僅當(dāng)該表達(dá)式為 true 時(shí)才繼續(xù)執(zhí)行后面的代碼。為了確保第一次循環(huán)能夠進(jìn)行,第 5 行將 char 變量 userSelection 初始化為‘m’。需要確保該變量不為‘x’,否則將導(dǎo)致第一次循環(huán)不會進(jìn)行,應(yīng)用程序退出,而不做任何有意義的工作。第一次循環(huán)非常簡單,但第 17 行詢問用戶是否想再次執(zhí)行計(jì)算。第 18 行讀取用戶輸入,這將影響 while 計(jì)算的表達(dá)式的結(jié)果,確定程序繼續(xù)執(zhí)行還是就此終止。第一次循環(huán)結(jié)束后,將跳轉(zhuǎn)到第 7 行,計(jì)算 while 語句中表達(dá)式的值,如果用戶按的不是 x 鍵,將再次執(zhí)行循環(huán)。如果用戶在循環(huán)末尾按了 x 鍵,下次計(jì)算第 7 行的表達(dá)式時(shí),結(jié)果將為 false,這將退出 while 循環(huán),并在顯示再見消息后結(jié)束應(yīng)用程序。
注意:
循環(huán)也叫迭代, while、 do…while 和 for 語句也被稱為迭代語句。
該文章會更新,歡迎大家批評指正。
推薦一個(gè)零聲學(xué)院的C++服務(wù)器開發(fā)課程,個(gè)人覺得老師講得不錯(cuò),
分享給大家:Linux,Nginx,ZeroMQ,MySQL,Redis,
fastdfs,MongoDB,ZK,流媒體,CDN,P2P,K8S,Docker,
TCP/IP,協(xié)程,DPDK等技術(shù)內(nèi)容
點(diǎn)擊立即學(xué)習(xí):C/C++后臺高級服務(wù)器課程