LONGEPASS
數位電子/程式語言/Q31
中等
正確率 -
Q31.

執行下列C 語言程式,其輸出結果為數位電子 乙級 程式語言 第 31 題 題目 圖片

數位電子 · 乙級 · 程式語言 · Q31

難易度分析

3 / 5

本題屬於需要同時運用格式化輸出語法判斷與進位制轉換邏輯的綜合型題目,具備多步驟的推理過程。

正確答案:①x=c,y=183

① x=c,y=183:在 C 語言中,當 char 型態變數以 `%c` 格式輸出時會顯示對應的 ASCII 字元,而整數變數以 `%d` 輸出時顯示 十進位數值。此處 x 輸出為字元 `c`,y 輸出為十進位 `183`(即十六進位 `0xB7`),符合程式中 printf 格式指定字的正確行為。

錯誤選項解析

  • ② x=12,y=183:此選項錯誤地將 x 輸出為 `12`。若 x 以 `%c` 格式輸出,應顯示 ASCII 字元而非數值;若 x 的值為 `'c'`(ASCII 99),則不可能輸出 `12`。此為混淆 `%c` 與 `%d` 格式指定字的常見錯誤。
  • ③ x=c,y=b7:此選項錯誤地將 y 輸出為 `b7`。當使用 `%d` 格式指定字時,應輸出 十進位數值 183,而非十六進位表示法 `b7`。若要輸出十六進位需使用 `%x` 格式指定字。此為混淆 進位制輸出格式的錯誤。
  • ④ x=c,y=267:此選項錯誤地將 y 輸出為 `267`。正確值應為 `183`(十六進位 `0xB7` 的十進位等價值)。數值 `267` 與題目計算結果不符,屬於 數值計算錯誤或對十六進位轉換的誤解。
Learning Tip

"此題核心考點為 C 語言 printf 格式指定字的正確使用:`%c` 輸出 ASCII 字元、`%d` 輸出十進位整數、`%x` 輸出十六進位。常見陷阱為混淆不同格式指定字的輸出結果,以及 十六進位與十進位的轉換(如 `0xB7 = 183`)。實務上需嚴格區分 字元輸出與數值輸出的差異。"

學員答題分佈

①x=c,y=1830%
②x=12,y=1830%
③x=c,y=b70%
④x=c,y=2670%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目