C++學習第6篇-程式流程式控制制

來源:互聯網
上載者:User

1. 流程式控制制簡介

程式流程,即CPU執行程式的順序;在main()開始和結束。

至今為止,我們看到的都是順序執行,通常需中斷調用其他函數,控製程序執行書順序。

1)Halt

作用:立即終止程式。例如使用<cstdlib>的exit() ;


2)Jumps

作用:無條件促使CPU跳轉到其他語句。例如:goto、break、continue;

函數調用,也是類似該行為。

3)條件分支

條件分支,即根據運算式的值,選擇改變的執行路徑。通常使用if關鍵字。


4) 迴圈

根據給出的條件,如果為true,則重複執行指定的語句;知道條件為false。

C++提供for、do……while和while三種,不提供foreach;


5)異常

異常提供了擷取程式錯誤的機制;捕捉獲知錯誤,改變執行路徑。(這部分不討論)

2. if 語句

if語句是C++最常用的條件分支。


以下是一個簡單的例子:


建議A: 每個if和else之後都使用{和}括起來;

當然,可以使用多個if-else:


注意:else與之前的最近的if配對。最好使用{和}區分。

if語句可以嵌套:


if語句常用語錯誤判斷和提前返回:


簡單的if語句可以使用?語句代替。

3. switch 語句

可以使用多重的if-else判斷,但可讀性差;C++提供switch語句,多條件陳述式。


default就是當以上條件都不符合,才執行default語句段。

注意:

A)switch中的運算式,必須為可轉化為整型值,即char、short、int、long int

B)case之後的是常量運算式,而且必須是唯一的條件值,不能出現重複:


C)對於處理case之後,該程式段之後可以使用break來退出switch;

D)允許多個case條件,對應一個出來程式段:


E)當遇到break、goto和return,終止退出swith判斷。

4. Goto語句

goto語句實現程式跳轉到指定的程式段:


注意:除非確實需要,盡量避免使用goto語句。

5. while 語句

一般格式是:while(判斷條件){執行語句段}

當判斷條件為true時,執行語句段;直到條件為false。

例如,列印1到10:


注意:如果條件一直都為true,就會出現死迴圈;只有return、break和拋出異常可以退出死迴圈。

建議:在迴圈裡面,使用諸如iii、jjj、kkk變數名;

6. Do……while 語句

一般格式是:do{……}while(條件);

該格式和while語句相似,但不同的是至少執行do裡面的語句一次。

7. For 語句

一般格式:for(初始化條件;運算式1;運算式2){……}

與while語句相似,初始化條件;while(運算式1){……;運算式2};只不過是初始化條件位置不同;


注意運算式1的比較,預防超出界限;

可以省略for條件的3個條件;

當{和}為空白語句,即只有一個分號;

可以使用逗號運算子,實現多重條件:


8. break和continue

break可以退出當前迴圈,而continue可以不執行當次迴圈;

【免責特此聲明:
1)本內容可能是來自互連網的,或經過本人整理的,僅僅代表了互連網和個人的意見和看法!
2)本內容僅僅提供參考,任何參考該內容造成任何的後果,均與原創作者和本部落格作者無關!】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.