迴圈的執行過程、適用情況和常見錯誤

來源:互聯網
上載者:User

標籤:函數   int   switch   區分   跳出迴圈   多個   while迴圈   適用於   應該   

迴圈有3種迴圈——while迴圈、for迴圈、do...while迴圈。下面分別介紹各個迴圈的執行過程和適用情況。

1、while迴圈

  (1)適合情況:適合不需要一個新的變數來控制迴圈是否停止。

  (2)執行過程:先判斷while後面緊跟的括弧內的條件是否為真(一般為非0值),為真時執行迴圈體,一直到條件為假時不執行迴圈體,直接跳到while迴圈體後面的代碼。

  (3)常見錯誤:迴圈體不改變條件變數的值或迴圈體無break語句或return語句(continue語句不能跳出迴圈)時稱為死迴圈,永遠也不會終止迴圈。while語句的()後面加分號(;)時,稱為空白語句,這時迴圈體只執行一次。

2、for迴圈

  (1)適合情況:適用於次數可知的迴圈,需要一個新的變數來控制迴圈體的執行次數。

  (2)執行過程:for語句的形式為for(語句一;語句二;語句三){ 迴圈體 }。首先會執行語句一,一般為對新變數(即控制迴圈體執行次數的變數)進行賦值。然後執行語句二的條件判斷,為真時執行迴圈體,為假時終止迴圈體的執行。為真的情況下執行一次迴圈體,然後執行語句三(一般為新變數(即控制迴圈體執行次數的變數))的改變,缺少語句三或迴圈體沒有該有的語句三時會成為死迴圈。接下來回到語句二的判斷繼續剛才的執行過程。

  (3)常見錯誤:for語句的()後面加分號(;),同while語句的常見錯誤一樣。for迴圈中語句二的判斷往往會迷茫,不知道怎樣填寫,才能迴圈相應的次數。這需要你們根據情況而定,可以自己寫一下控制變數到語句二為假時的次數。注意語句二是不能省略的,否則會報錯。更不要把語句二寫成任何控制變數都成立的情況,否則成為死迴圈。

3、do...while迴圈

  (1)適合情況:適用於先執行一次迴圈體,再進行判斷的情況。

  (2)執行過程:先執行一次迴圈體,再判斷條件。條件為真時,再執行一次迴圈體......知道條件為假。

  (3)常見錯誤:本應該不先執行一次迴圈體,而強硬使用do...while迴圈。do...while()語句的括弧()後面的分號(;)不能省略,這要與while語句的括弧區分開來。

 

break語句是跳出最近的迴圈語句、迴圈語句、迴圈語句,不是選擇語句(switch語句除外,尤其是if、else、else if語句)。continue語句是不執行continue語句後面的代碼,至最近迴圈語句的結尾(“}”)前。for中的continue語句是跳到語句三,下來執行語句二的判斷......while語句很少見,如果while語句中continue語句前沒有能夠改變條件真假的語句則會構成死迴圈。

 

常把輸出函數(printf)放到迴圈語句中,這時會輸出多個結果,除非遇到break語句,終止迴圈。

迴圈的執行過程、適用情況和常見錯誤

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.