HOME ABOUT CONTACT

C/C++教學: 第十一課 - while迴圈

Rain July 25, 2024
Outline

1. while迴圈簡介

2. 無窮迴圈

while迴圈簡介top

本篇將要介紹另一種的迴圈結構 - while迴圈,在理解完for loop之後,相信要理解while迴圈應該不會是難事,因為它比for loop更精簡。 那麼我們就先來看看它的基本架構如何:


while (running conditions) {
    // Do something ...
}
                    

其架構相當於for ( ; running condition ; ),這是當設計者希望迴圈架構只考慮迴圈執行條件時,常用的迴圈的架構。

無窮迴圈top

無窮迴圈這個詞或許有很多人已經聽過,而實際在程式上要如何應用呢? 當迴圈執行次數是不能量化或預測的, 它需要等待或聽候某個條件成立的時候,來決定是否跳脫迴圈。迴圈可能設計成當條件達成時就跳脫迴圈, 又或是條件達成後我們希望程式能繼續等待或聽候下一個事件發生,這時我們都會使用無窮迴圈來完成這樣的應用。

各位讀者是否有意識到迴圈執行條件其實就是一個條件式判斷得到的值是否為真(True)或假(False)。 因此若我們想設計一個無窮迴圈,可以直接在while括號內塞一個 1 或 true 即可,如下例:


while (1) {
    // Do something ...
}
                        

while (true) {
    // Do something ...
}
                    

若設計者希望在某個條件達成就跳脫出迴圈,其設計方法和for loop介紹的相同,如下範例:


while (true) {
    if (condition) {
        break; // 一樣需要break關鍵字跳脫迴圈架構
    }
}
                        

若設計者希望在條件達成之後,程式能繼續等待聽候下一個事件發生,那麼就可以不必設計任何跳脫迴圈的條件。 但大多時候在應用上,我們會用多執行緒的方式來完成這樣的應用,這在之後會多做些介紹。 這裡就簡單介紹一下,在多核心系統下,多執行緒可以理解成程式同時執行不同的程式區塊,因此像這樣的應用需求,我們會額外配置另一個執行緒 去進入無窮迴圈去等待,而主執行緒繼續執行主要的程式內容,像這樣的情境應用應該是不難理解和想像。

下一篇: 第十二課 - do while迴圈

Last updated:

Related Artical List

  1. C/C++教學: 第九課 - switch結構
  2. C/C++教學: 第十課 - for迴圈
  3. C/C++教學: 第十二課 - do while迴圈

Article List