您好,登錄后才能下訂單哦!
今天小編給大家分享一下C++的程序流程控制實例分析的相關(guān)知識點,內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
C++支持最基本的三種程序運行結(jié)構(gòu):
順序結(jié)構(gòu)
選擇結(jié)構(gòu)
循環(huán)結(jié)構(gòu)
順序結(jié)構(gòu):程序按順序執(zhí)行,不發(fā)生跳轉(zhuǎn)
選擇結(jié)構(gòu):依據(jù)條件是否滿足,有選擇的執(zhí)行相應(yīng)功能
循環(huán)結(jié)構(gòu):依據(jù)條件是否滿足,循環(huán)多次執(zhí)行某段代碼 二、選擇結(jié)構(gòu) 1、if語句
作用: 執(zhí)行滿足條件的語句
if語句的三種形式:
單行格式if語句
多行格式if語句
多條件的if語句
單行格式if語句:if(條件){ 條件滿足執(zhí)行的語句 }
代碼示例:
int main() { //選擇結(jié)構(gòu)-單行if語句 //輸入一個分?jǐn)?shù),如果分?jǐn)?shù)大于600分,視為考上一本大學(xué),并在屏幕上打印 int score = 0; cout << "請輸入一個分?jǐn)?shù):" << endl; cin >> score; cout << "您輸入的分?jǐn)?shù)為: " << score << endl; //if語句 //注意事項,在if判斷語句后面,不要加分號 if (score > 600) { cout << "我考上了一本大學(xué)!??!" << endl; } return 0; }
注意:if條件表達(dá)式后不要加分號
多行格式if語句:if(條件){ 條件滿足執(zhí)行的語句 }else{ 條件不滿足執(zhí)行的語句 };
代碼示例:
int main() { //選擇結(jié)構(gòu)-單行if語句 //輸入一個分?jǐn)?shù),如果分?jǐn)?shù)大于600分,視為考上一本大學(xué),并在屏幕上打印 int score = 0; cout << "請輸入一個分?jǐn)?shù):" << endl; cin >> score; cout << "您輸入的分?jǐn)?shù)為: " << score << endl; //if語句 //注意事項,在if判斷語句后面,不要加分號 if (score > 600) { cout << "我考上了一本大學(xué)?。。?quot; << endl; } return 0; }
多條件的if語句:if(條件1){ 條件1滿足執(zhí)行的語句 }else if(條件2){條件2滿足執(zhí)行的語句}... else{ 都不滿足執(zhí)行的語句}
代碼示例:
int main() { int score = 0; cout << "請輸入考試分?jǐn)?shù):" << endl; cin >> score; if (score > 600) { cout << "我考上了一本大學(xué)" << endl; } else { cout << "我未考上一本大學(xué)" << endl; } return 0; }
嵌套if語句:在if語句中,可以嵌套使用if語句,達(dá)到更精確的條件判斷
作用: 通過三目運算符實現(xiàn)簡單的判斷
語法:表達(dá)式1 ? 表達(dá)式2 :表達(dá)式3
解釋:
如果表達(dá)式1的值為真,執(zhí)行表達(dá)式2,并返回表達(dá)式2的結(jié)果;
如果表達(dá)式1的值為假,執(zhí)行表達(dá)式3,并返回表達(dá)式3的結(jié)果。
代碼示例:
int main() { int a = 10; int b = 20; int c = 0; c = a > b ? a : b; cout << "c = " << c << endl; //C++中三目運算符返回的是變量,可以繼續(xù)賦值 (a > b ? a : b) = 100; cout << "a = " << a << endl; cout << "b = " << b << endl; cout << "c = " << c << endl; return 0; }
總結(jié):和if語句比較,三目運算符優(yōu)點是短小整潔,缺點是如果用嵌套,結(jié)構(gòu)不清晰
作用: 執(zhí)行多條件分支語句
語法:
switch(表達(dá)式) { case 結(jié)果1:執(zhí)行語句;break; case 結(jié)果2:執(zhí)行語句;break; ... default:執(zhí)行語句;break; }
代碼示例:
int main() { //請給電影評分 //10 ~ 9 經(jīng)典 // 8 ~ 7 非常好 // 6 ~ 5 一般 // 5分以下 爛片 int score = 0; cout << "請給電影打分" << endl; cin >> score; switch (score) { case 10: case 9: cout << "經(jīng)典" << endl; break; case 8: cout << "非常好" << endl; break; case 7: case 6: cout << "一般" << endl; break; default: cout << "爛片" << endl; break; } return 0; }
注意1:switch語句中表達(dá)式類型只能是整型或者字符型
注意2:case里如果沒有break,那么程序會一直向下執(zhí)行
總結(jié):與if語句比,對于多條件判斷時,switch的結(jié)構(gòu)清晰,執(zhí)行效率高,缺點是switch不可以判斷區(qū)間
作用: 滿足循環(huán)條件,執(zhí)行循環(huán)語句
語法: while(循環(huán)條件){ 循環(huán)語句 }
解釋:只要循環(huán)條件的結(jié)果為真,就執(zhí)行循環(huán)語句
示例:
int main() { int num = 0; while (num < 10) { cout << "num = " << num << endl; num++; } return 0; }
注意:在執(zhí)行循環(huán)語句時候,程序必須提供跳出循環(huán)的出口,否則出現(xiàn)死循環(huán)
作用: 滿足循環(huán)條件,執(zhí)行循環(huán)語句
語法: do{ 循環(huán)語句 } while(循環(huán)條件);
注意: 與while的區(qū)別在于do…while會先執(zhí)行一次循環(huán)語句,再判斷循環(huán)條件
代碼示例:
int main() { int num = 0; do { cout << num << endl; num++; } while (num < 10); return 0; }
總結(jié):與while循環(huán)區(qū)別在于,do…while先執(zhí)行一次循環(huán)語句,再判斷循環(huán)條件
作用: 滿足循環(huán)條件,執(zhí)行循環(huán)語句
語法: for(起始表達(dá)式;條件表達(dá)式;末尾循環(huán)體) { 循環(huán)語句; }
代碼示例:
int main() { for (int i = 0; i < 10; i++) { cout << i << endl; } return 0; }
詳解:
注意:for循環(huán)中的表達(dá)式,要用分號進(jìn)行分隔
總結(jié):while , do…while, for都是開發(fā)中常用的循環(huán)語句,for循環(huán)結(jié)構(gòu)比較清晰,比較常用
作用: 用于跳出選擇結(jié)構(gòu)或者循環(huán)結(jié)構(gòu)
break使用的時機:
出現(xiàn)在switch條件語句中,作用是終止case并跳出switch
出現(xiàn)在循環(huán)語句中,作用是跳出當(dāng)前的循環(huán)語句
出現(xiàn)在嵌套循環(huán)中,跳出最近的內(nèi)層循環(huán)語句
代碼示例:
int main() { //1、在switch 語句中使用break cout << "請選擇您挑戰(zhàn)副本的難度:" << endl; cout << "1、普通" << endl; cout << "2、中等" << endl; cout << "3、困難" << endl; int num = 0; cin >> num; switch (num) { case 1: cout << "您選擇的是普通難度" << endl; break; case 2: cout << "您選擇的是中等難度" << endl; break; case 3: cout << "您選擇的是困難難度" << endl; break; } return 0; }
作用: 在循環(huán)語句中,跳過本次循環(huán)中余下尚未執(zhí)行的語句,繼續(xù)執(zhí)行下一次循環(huán)
代碼示例:
int main() { for (int i = 0; i < 100; i++) { if (i % 2 == 0) { continue; } cout << i << endl; } return 0; }
注意:continue并沒有使整個循環(huán)終止,而break會跳出循環(huán)
作用: 可以無條件跳轉(zhuǎn)語句
語法: goto 標(biāo)記;
解釋: 如果標(biāo)記的名稱存在,執(zhí)行到goto語句時,會跳轉(zhuǎn)到標(biāo)記的位置
代碼示例:
int main() { cout << "1" << endl; goto FLAG; cout << "2" << endl; cout << "3" << endl; cout << "4" << endl; FLAG: cout << "5" << endl; return 0; }
注意:在程序中不建議使用goto語句,以免造成程序流程混亂
以上就是“C++的程序流程控制實例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。