高考申論題
106年
[工業行政] 計算機概論
第 二 題
📖 題組:
四、(一)執行下列程式 A 將會得到什麼結果?詳細說明理由。(10 分) (二)執行下列程式 B 將會得到什麼結果?詳細說明理由。(10 分) **程式 A** ```c #include
#include
main()
{
int i=7, a, b, c, d;
a=i++;
b=++i;
c=i--; c+=c;
d=--i; d=--d;
printf("%d, %d, %d, %d", a, b, c, d);
system("PAUSE");
}
```
**程式 B**
```c
#include
#include
main()
{
int a[5]={1, 3, 5, 7, 9};
int b=7, c=0;
b++;
c=b+a[5];
printf("%d, %d\n", b, c);
system("PAUSE");
}
```
四、(一)執行下列程式 A 將會得到什麼結果?詳細說明理由。(10 分) (二)執行下列程式 B 將會得到什麼結果?詳細說明理由。(10 分) **程式 A** ```c #include
📝 此題為申論題,共 2 小題
小題 (二)
執行下列程式 B 將會得到什麼結果?詳細說明理由。(10 分)
思路引導 VIP
本題的測試核心為 C/C++ 語言的『陣列範圍邊界』觀念。考生看到陣列索引操作時,務必第一時間檢查是否發生『陣列越界 (Array Out-of-Bounds)』,並將其與『未定義行為 (Undefined Behavior)』及『垃圾值』的底層記憶體概念作連結。
小題 (一)
執行下列程式 A 將會得到什麼結果?詳細說明理由。(10 分)
思路引導 VIP
解題核心在於釐清 C 語言中『前置 (Prefix)』與『後置 (Postfix)』遞增/遞減運算子的差異。建議考生在計算紙上畫出變數追蹤表(Trace Table),逐步(Step-by-step)記錄每一個指令執行後變數值的變化,即可避免心算失誤。