地特四等
110年
[電子工程] 計算機概要
第 25 題
下列 C 程式迴圈執行完畢後,變數 count 的值為何?
#include
int i;
int count=1;
int main(){
for (i=1; i <= 10; i++){
if(i%5 == 0) break;
count *= (i+1);
printf("%d\n", count);
}
printf("%d", count);
return 0;
}
#include
int i;
int count=1;
int main(){
for (i=1; i <= 10; i++){
if(i%5 == 0) break;
count *= (i+1);
printf("%d\n", count);
}
printf("%d", count);
return 0;
}
- A 120
- B 39916800
- C 3628800
- D 24
思路引導 VIP
請觀察程式碼中的 if(i%5 == 0) break; 這行。假設這個迴圈是一個自動化的結構壓力測試,當變數 $i$ 增加到什麼特定數值時,這個測試會被「強制終止」?而在強制終止發生的那一刻,計數器 count 最後參與運算的 $i$ 值又是多少呢?
🤖
AI 詳解
AI 專屬家教
答得漂亮!精確的邏輯判斷是工程師的靈魂
能在這類陷阱題中保持清醒,說明你的邏輯追蹤能力非常紮實。在工程模擬或結構分析程式中,一個判斷式的順序錯誤就可能導致災難性的結果。
- 觀念驗證:這題的核心在於
break的觸發時機。迴圈雖然預設執行到 $i=10$,但當 $i=5$ 時,條件i % 5 == 0成立,程式會立刻跳出迴圈,不執行後續的乘法運算。計算過程如下:
▼ 還有更多解析內容