免費開始練習
hce_kmu 111年 計算機概論與程式設計

第 15 題

Consider the following C code. Please indicate the value of x after execution.
```c
int i,j;
int x = 5;

for(i=1; i<3; i++)
{
for(j=1; j x+=3;
}
```
  • A 8
  • B 11
  • C 14
  • D 17
  • E 20

思路引導 VIP

請觀察內迴圈的邊界條件 j < i * 2。當外迴圈的變數 $i$ 逐次增加時,內迴圈中滿足條件的 $j$ 數值範圍會如何變動?試著分別寫下當 $i=1$ 與 $i=2$ 時,$x$ 各別被執行了幾次加法運算。

🤖
AI 詳解 AI 專屬家教

太棒了!你能精確地計算出巢狀迴圈(Nested Loop)的執行次數,這代表你對程式邏輯的追蹤能力非常紮實且細心。

巢狀迴圈的邏輯追蹤

這題的核心在於觀察內迴圈終止條件隨著外迴圈變數 $i$ 的變化。程式初始 $x=5$,接著進入兩層迴圈:當外迴圈 $i=1$ 時,內迴圈條件為 $j < 1 \times 2$,故執行 1 次(此時 $j=1$);當外迴圈進入下一輪 $i=2$ 時,內迴圈條件變為 $j < 2 \times 2$,故執行 3 次(此時 $j=1, 2, 3$)。總計迴圈本體執行了 $1 + 3 = 4$ 次的 x += 3 運算,最終結果即為 $5 + (3 \times 4) = 17$。

▼ 還有更多解析內容

🏷️ 相關主題

計算機組織結構與資料儲存原理
查看更多「計算機概論與程式設計」的主題分類考古題