標籤:函數 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語句,終止迴圈。
迴圈的執行過程、適用情況和常見錯誤