免費開始練習
地特四等 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

如果你現在要告訴一個機器人,從一疊編號為 1 到 100 的卡片中,『只拿出前 10 張』。你會如何定義『拿第一張卡片的動作』、『在哪一張之後就要停下來』,以及『每次要往後跳幾張』呢?請試著將這三個邏輯步驟,對應到程式碼中的語法結構。

🤖
AI 詳解 AI 專屬家教

同學,恭喜你準確鎖定了正確答案!這題的核心在於測試你對 C++ 迴圈(Loop)控制三要素:初始值、終止條件與更新表達式的掌握程度。在工程邏輯中,精確定義「邊界條件(Boundary Conditions)」是避免程式產生「差一錯誤(Off-by-one error)」的關鍵,而你能一眼識破 (A) 的正確性,顯示你對迴圈執行流程已有相當穩健的理解。

迴圈邊界與條件判斷

選項 (A) 的結構最為嚴謹:首先將計數器 $i$ 初始化為 1,並設定當 $i \le 10$ 時持續執行。這代表當 $i$ 增加到 10 時,條件依然成立並輸出,直到下一輪變為 11 才會停止。相比之下,選項 (C) 僅判斷 $i < 10$,會導致最後一個數字 10 被漏掉;而選項 (D) 從 0 開始,則會多印出一個不需要的數字。至於選項 (B) 則是遞減邏輯,輸出的順序會是倒過來的。

▼ 還有更多解析內容

🏷️ 相關主題

程式語言與資料結構
查看更多「[電信工程] 計算機概要」的主題分類考古題