您好,登錄后才能下訂單哦!
這篇文章主要介紹了C++控制結(jié)構(gòu)是什么意的,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
C++的控制結(jié)構(gòu)和其它編程語(yǔ)言類似,共包含以下三種:
順序結(jié)構(gòu)
選擇結(jié)構(gòu)
循環(huán)結(jié)構(gòu)
不知道是否有論文證明過(guò),上述三種結(jié)構(gòu)是否實(shí)現(xiàn)所有的邏輯。
即表達(dá)式按照上下順序執(zhí)行,比如下面的代碼:
printf("Hello"); printf("\n"); printf("World");
程序會(huì)依次輸出“Hello World
”。
選擇結(jié)構(gòu)可以使用if語(yǔ)句或者switch語(yǔ)句實(shí)現(xiàn),下面分別記錄。
采用if實(shí)現(xiàn)的選擇結(jié)構(gòu)含有3種情況:
單層選擇if-else
嵌套判斷if-else
多重判斷if-else if
單層選擇的選擇采用if-else實(shí)現(xiàn),其語(yǔ)法如下:
if (表達(dá)式) 語(yǔ)句1
else 語(yǔ)句2
比如判斷x是否大于10,若是則輸出yes,否則輸出no:
int x = 100; if (x>10) { printf("yes"); } else { printf("no"); }
此外,if-else
內(nèi)部可以嵌套新的判斷,比如判斷if x>10以后可以繼續(xù)判斷x和20的關(guān)系,else 后可以判斷x繼續(xù)判斷x和5的關(guān)系:
int x = 100; if (x>10) { if (x>20) { printf("x>20"); } } else { if (x<5) { printf("x<5"); } }
除了上述兩種方式,還可以使用if-else if對(duì)某種條件進(jìn)行多次判斷,當(dāng)前面的判斷不成立時(shí)繼續(xù)判斷后面:
if (x>50) { printf("x>50"); } else if (x>30) { printf("x>30"); } else { printf("all no"); }
當(dāng)需要判斷的條件是同一個(gè)表達(dá)式的值時(shí)可以使用switch語(yǔ)句,比如判斷x具體為什么值:
int x = 100; switch (x) {case 10: { printf("x= 10"); break; } case 100: { printf("x = 100"); break; } default: { printf("unknown"); }}
switch
語(yǔ)句使用有兩個(gè)注意事項(xiàng),第一是case
中使用break才能保證后面的case不被執(zhí)行;第二是case后的表達(dá)式是必須是常量表達(dá)式,比如整型、字符型或者枚舉型。
C++中包含3種循環(huán)語(yǔ)句:while、do while以及for,下面分別介紹。
while語(yǔ)句表示當(dāng)滿足某個(gè)條件時(shí),語(yǔ)句被循環(huán)執(zhí)行,一般需要在循環(huán)體內(nèi)部改變表達(dá)式的值,語(yǔ)法如下:
while (表達(dá)式) 語(yǔ)句
比如當(dāng)x<10時(shí)不斷在屏幕顯示“yes”,并將x進(jìn)行加1直到循環(huán)停止:
int x = 1; while (x<10) { printf("yes\n"); x ++; }
盡管do while
和while
的功能十分類似,但是C++單獨(dú)使用do while肯定是有原因的。do while的語(yǔ)法為:
do 語(yǔ)句
while (表達(dá)式)
同樣采用x<10時(shí)不斷在屏幕顯示yes為例:
int x = 1; do { printf("yes\n"); x ++; }while(x<10);
while和do while的區(qū)別是先執(zhí)行語(yǔ)句還是先判斷表達(dá)式。do while也經(jīng)常在循環(huán)體內(nèi)部改變判斷條件表達(dá)式的值,比如上述代碼中的x++一行。
在python中for經(jīng)常作為迭代功能使用,這和C++的for有些不同,
其語(yǔ)法如下:
for(初始語(yǔ)句;判斷條件;更新)
{循環(huán)主體語(yǔ)句}
執(zhí)行順序?yàn)椋?/strong>首先執(zhí)行“初始語(yǔ)句”,當(dāng)滿足“判斷條件”時(shí)就去執(zhí)行“循環(huán)主體語(yǔ)句”,否則就退出循環(huán),每次“循環(huán)主體語(yǔ)句”執(zhí)行后進(jìn)行“更新”,重復(fù)前述操作。下面展示了在x<10時(shí)不斷的在屏幕輸出No:
for (int x=1; x<10; x++){ printf("No\n"); }
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“C++控制結(jié)構(gòu)是什么意的”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。