2.在大多數程式語言中,while 迴圈會「至少執行一次」迴圈 內的程式區塊。
(A)O
(B)X
統計: A(8), B(9), C(0), D(0), E(0) #3678218
詳解 (共 1 筆)
【解題思路】
這題在考你能不能分辨:
while 迴圈 vs do-while 迴圈
核心觀念:
while 迴圈
→ 先判斷條件,再決定要不要進入區塊
→ 條件若一開始為 false,會「一次也不執行」
do-while 迴圈
→ 先執行,再判斷
→ 至少會執行一次
題目說:
while 迴圈至少會執行一次
這句話完全錯誤。
【逐一破題】
(A) O
→ 表示 while 至少跑一次 → 錯
(B) X
→ 正確!
while 在第一次條件不成立時,整個區塊一次都不會進入。
【延伸知識】
以 Python、C、Java 為例:
x > 10 在第一次就為 False
→ 輸出完全不會發生
但 do-while(例如 C、Java):
→ 會至少印一次「Hi」
【記憶技巧】
一句話:
while:先判斷 → 不一定跑
do-while:先跑 → 一定跑
更短:
while 不保證,do-while 保證一次。
【常見錯誤】
-
把 while 誤以為跟 do-while 一樣
-
忽略「第一次就跳出」的可能
-
Python 沒有 do-while → 更容易搞錯 while 的特性
【三大迴圈比較總表】
| 迴圈種類 | 是否先判斷? | 是否保證至少執行一次? | 適用場合 | 範例語法(概念) |
|---|---|---|---|---|
| for | 先設定 → 再判斷 | 不一定 | 數量明確時(重複 N 次) | for(i=0; i<10; i++) |
| while | 先判斷 | 不保證一次 | 不知道要跑幾次,但有條件 | while(condition) |
| do-while | 先執行,再判斷 | 一定至少一次 | 至少要做一次的動作 | do { } while(condition); |
【三大迴圈最重要的「一句話記憶」】
for:跑幾次我知道
while:跑幾次我不知道
do-while:至少跑一次我知道
【深入解釋三者差異】
【1. for 迴圈】
用途:
當你「已知」迴圈要重複執行的次數,例如 10 次、100 次。
結構(概念):
例:
→ 會印出 1,2,3,4,5
【2. while 迴圈】
用途:
當你「不知道」要跑幾次,只知道「某條件成立就要繼續」。
關鍵:
第一次判斷就可能跳出 → 0 次執行
例:
若 x 一開始是 0 → 迴圈直接不跑。
【3. do-while 迴圈】
用途:
至少執行一次的情境,例如:
-
要先輸入一次資料再判斷是否結束
-
要先顯示選單一次再選擇是否離開
結構:
特色:
至少執行一次,不論條件一開始是否為真。
【最常考的差異(考題重點)】
-
while 不一定跑一次 → 題目常陷阱
-
do-while 是唯一「至少執行一次」的迴圈
-
for 用來取代 while,語意上更清楚
-
Python 沒有 do-while → 但考試會考概念
-
迴圈控制
-
break → 跳出迴圈
-
continue → 跳過當次迴圈
-
【常見錯誤】
-
把 while 誤當 do-while
-
以為 for 迴圈一定要跑完 → 可以 break
-
把判斷式放錯位置 → while 在前,do-while 在後
-
以為 for 無法改用 while(其實可以互換)
【最終衝刺版口訣】
for 次數明確
while 不一定跑
do-while 至少跑一次