Q82.
下列何者可作為C 語言合法的整數?
數位電子 · 甲級 · 程式語言 · Q82
難易度分析
3 / 5
本題評為「3」,因為它要求學習者辨認並選出所有合法的整數表示,並排除常見陷阱;多選形式加上需同時判斷多個選項的正確性,提升了推理需求。
正確答案 (複選):①, ③
- ① 0b101011:0b 為二進位整數的前置詞,在 C99 起作為編譯器擴充功能支援,並於 C23 標準正式納入,屬於合法的整數表示法。
- ③ 0x5A:0x 為十六進位整數的標準前置詞,0x5A 完全符合 C 語言規範,是合法的十六進位常數。
錯誤選項解析
- ② 5AH:5AH 的後置 H 表示十六進位是組合語言的寫法,C 語言不支援此語法,正確寫法應使用 0x 前置詞。
- ④ 059:以 0 開頭代表八進位整數,但八進位僅允許數字 0~7,出現數字 9 已超出八進位範圍,因此不合法。
Learning Tip
"C 語言整數常數的考點在於進位前置詞的辨識:0x/0X 為十六進位、0 開頭為八進位、0b/0B 為二進位(C23 標準),而無前置詞的純數字為十進位。常見陷阱是將組合語言的 H 後綴混入 C 語言,以及八進位中出現 8 或 9 的非法數字。"
學員答題分佈
①0b1010110%
②5AH0%
③0x5A0%
④0590%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!