地特四等
114年
[電子工程] 計算機概要
第 28 題
下列那段 C++程式碼是輸出數字 1 到 10,使用 for 迴圈最適合寫法?
- A for (int i = 1; i <= 10; i++) cout << i;
- B for (int i = 10; i >= 1; i--) cout << i;
- C for (int i = 1; i < 10; i++) cout << i;
- D for (int i = 0; i <= 10; i++) cout << i;
思路引導 VIP
當你想要讓電腦依序列出一串數字時,你需要明確告訴它三個要素:從哪個數字開始、在什麼樣的臨界情況下停止,以及每一步要增加還是減少。請試著思考:如果我們希望最後一個顯示的數字恰好是 10,那麼你的「停止檢查條件」應該如何設定,才能確保 10 被包含在內,而 11 不會被執行到呢?
🤖
AI 詳解
AI 專屬家教
同學,很高興看到你準確地掌握了迴圈的基本邏輯。在程式設計與系統開發中,精確控制**邊界條件(Boundary conditions)**是極為重要的基本功,這決定了程式運行的正確性與效率。
迴圈控制結構的邏輯驗證
這道題目考驗的是對 for 迴圈三要素的理解。選項 (A) 的邏輯非常嚴謹:我們從 $i = 1$ 開始(初始化),設定只要 $i$ 小於或等於 $10$(終止條件)就繼續執行,且每次迭代後將 $i$ 加 $1$(更新步進)。這樣一來,迴圈剛好會依序走過 $1, 2, \dots, 10$ 這十個整數。相較之下,選項 (C) 使用了「小於($<$)」運算子,會導致程式在 $i=10$ 時就停止執行,漏掉了最後一個數字;而選項 (D) 從 $0$ 開始,則會多輸出一個非預期的數值。這種對起訖點的精準掌控,能有效避免實務中常見的差一錯誤(Off-by-one error)。
▼ 還有更多解析內容