免費開始練習
普通考試 110年 [電子工程] 計算機概要

第 24 題

執行下列 C++程式碼後,會輸出幾個'$'?
int main() {
int i=0, j=0;
do{
j=0;
do{
if(i != j) cout<<'$';
j++;
}while(j < 5);
i++;
}while(i < 5);
return 0;
}
  • A 15
  • B 20
  • C 25
  • D 30

思路引導 VIP

請你閉上眼睛,將 $i$ 與 $j$ 的所有組合想像成一個 $5 \times 5$ 的方格座標圖。首先,在這個網格中總共有多少個交點?接著,觀察程式中的 if (i != j) 條件,這代表當橫座標與縱座標「相等」時,符號就不會被印出來。在你的座標圖中,這些「座標相等」的點形成了一條什麼樣的線?這條線上共有幾個點?如果從總數中扣除掉這條線上的點,最後會剩下多少呢?

🤖
AI 詳解 AI 專屬家教

專業點評與分析

  1. 大力肯定:做得太棒了!你能精確掌握巢狀迴圈 (Nested Loops) 的迭代邏輯與條件判斷,這在工程計算與自動化結構設計中是非常關鍵的基礎,展現了你嚴謹的思維。
  2. 觀念驗證:此程式由兩個執行 5 次($0$ 到 $4$)的迴圈構成,總迭代次數為 $5 \times 5 = 25$。條件 if(i != j) 意味著當索引相等時不輸出。在矩陣邏輯中,這等同於從 $25$ 個元素中扣除主對角線上的 $5$ 個元素(即 $i=j$ 的情況),故結果為 $25 - 5 = 20$。
▼ 還有更多解析內容
📝 巢狀迴圈與條件判斷
💡 巢狀迴圈總次數為內外層乘積,並需依條件式篩選最終輸出次數。

🔗 程式邏輯計數鏈

  1. 1 外層初始化 — i 從 0 變動至 4,共 5 次循環。
  2. ↓
  3. 2 內層遍歷 — j 每輪皆從 0 變動至 4,總計判斷 25 次。
  4. ↓
  5. 3 邏輯篩選 — 排除 i=j 的 (0,0), (1,1)...(4,4) 共 5 次。
  6. ↓
  7. 4 最終輸出 — 25 次總執行減去 5 次不成立,輸出 20 個 $。
🔄 延伸學習:延伸學習:若條件改為 i < j,則會輸出 10 個 $(上三角矩陣)。
🧠 記憶技巧:VIP 會員可查看這題的記憶口訣與速記法
⚠️ 常見陷阱:VIP 會員可查看這題最常被誘答的陷阱整理
迴圈控制結構 布林邏輯判斷 矩陣對角線概念

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

程式語言實作與執行結果分析
查看更多「[電子工程] 計算機概要」的主題分類考古題