普考-資訊處理 115 年 · 第 18 題 普考-資訊處理 計算機概要 115 年 第 18 題 單選題
若執行以下的 Java 程式碼,則螢幕上的輸出依序為下列何者?
public class Operator{
public static void main(String[] args){
int c = 2;
System.out.println(c++);
System.out.println(++c);
}
} B 正確答案
後置遞增(c++)先取值後加一,前置遞增(++c)先加一後取值,初始值為2,依序輸出2與4。
為什麼答案是 B c++ 先印出 2 再加 1 變 3;++c 先加 1 變 4 再印出 4,完全正確。
載入中…
完整詳解 Pro · 無限 重點 後置遞增(c++)先取值後加一,前置遞增(++c)先加一後取值,初始值為2,依序輸出2與4。
看到 c++ 印出原值 2,c 變 3;接著 ++c 先加 1 變 4 再印出 4,秒選 2, 4。
逐選項分析 A ✕ 陷阱
誤判前置遞增的執行順序,導致第二個輸出值計算錯誤。
B ✓ 正確
c++ 先印出 2 再加 1 變 3;++c 先加 1 變 4 再印出 4,完全正確。
C ✕
誤將 c++ 當作前置遞增處理,導致第一個輸出值錯誤。
D ✕
將兩個運算元皆誤認為前置遞增,導致兩個輸出值皆錯誤。
遞增/遞減運算元執行順序 運算元 名稱 執行順序 本題執行情境 輸出結果 c++ 後置遞增 先取值,後加 1 c=2 時執行 println(c++) 印出 2,c 變 3 ++c 前置遞增 先加 1,後取值 c=3 時執行 println(++c) c 變 4,印出 4
考生常將後置遞增與前置遞增的執行順序搞混。記住:符號在變數後,就是後加一(先印出原值);符號在變數前,就是先加一(印出新值)。