高考申論題
107年
[電力工程] 計算機概論
第 五 題
五、請詳細解釋下列 C 語言程式的執行過程,最後寫出程式的輸出。(20 分)
#include
int main()
{
int i;
for (i=0; i<=8; i=i+2) {
switch (i) {
case 0: printf("0"); break;
case 1: printf("1"); break;
case 4: printf("4");
case 5: printf("5"); break;
case 6: printf("6");
case 7: printf("7"); continue;
default : printf("8"); break;
}
printf("\n");
}
return(0);
}
#include
int main()
{
int i;
for (i=0; i<=8; i=i+2) {
switch (i) {
case 0: printf("0"); break;
case 1: printf("1"); break;
case 4: printf("4");
case 5: printf("5"); break;
case 6: printf("6");
case 7: printf("7"); continue;
default : printf("8"); break;
}
printf("\n");
}
return(0);
}
📝 此題為申論題
思路引導 VIP
本題測驗 C 語言的程式邏輯追蹤能力。必須非常仔細地按步就班模擬迴圈。考點有三個:1. for迴圈每次增加量 (i=i+2)。2. switch-case 的 Fall-through 現象 (沒有寫 break 就會繼續往下執行下一個 case)。3. continue 的作用 (跳過本次迴圈後面剩下的程式碼,直接進入下一次迴圈)。 追蹤步驟:
🤖
AI 詳解
AI 專屬家教
【考點分析】
本題測驗對於 C 語言流程控制的追蹤能力。重點在於三處:(1) for 迴圈的遞增條件,(2) switch-case 敘述中忘記加 break 所導致的「貫穿(Fall-through)」效應,(3) continue 敘述跳過當次迴圈剩餘程式碼(如 printf("\n");)的作用。
【理論/法規依據】
▼ 還有更多解析內容