地方政府公務人員四等-電子工程類科計算機概要109 年第 31 題單選題
執行下列 C++程式碼後,輸出的字元為何?int main( ) {
char c1='m', c2='p', c3='N', c4;
c4=c3-c1+c2;
cout<< c4 <<endl;
return 0;
}
D正確答案
字元運算依 ASCII 碼計算:'N'-'m'+'p' = 78-109+112 = 81 = 'Q'。
為什麼答案是 D
'N'=78、'm'=109、'p'=112,計算 78-109+112=81,ASCII 81 對應大寫 'Q',正解。
載入中…
完整詳解
Pro · 無限重點 字元運算依 ASCII 碼計算:'N'-'m'+'p' = 78-109+112 = 81 = 'Q'。
記住大小寫差 32:'N'=78, 'm'=109, 'p'=112,相加減得 81 即 'Q'。
逐選項分析
A✕
'p' 的 ASCII 是 112,但本題計算結果為 81,不是 112,誤選者可能直接抄 c2。
B✕ 陷阱
若誤把 c3-c1 當成 0(忽略大小寫差異),則 0+'p'='p',再 +1 會得 'q',是常見陷阱。
C✕ 陷阱
'P' 的 ASCII 是 80,和正解 'Q'(81) 只差 1,粗心算錯 1 就會選 C,是高頻陷阱。
D✓ 正確
'N'=78、'm'=109、'p'=112,計算 78-109+112=81,ASCII 81 對應大寫 'Q',正解。
常用 ASCII 對照
| 字元 | ASCII | 字元 | ASCII |
|---|
| 'A' | 65 | 'a' | 97 |
| 'N' | 78 | 'n' | 110 |
| 'P' | 80 | 'p' | 112 |
| 'Q' | 81 | 'q' | 113 |
| 'm' | 109 | 大小寫差 | 32 |
考選部最愛這樣考:把 C++ char 當整數運算,故意用大小寫混雜字元讓你忽略 32 的差距。最常見錯誤是算成 'P'(差 1)或直接寫 'p'(沒計算)。務必逐一換算 ASCII。