Q81.
C 語言中,下列何者是有效的識別字(identifier)?
數位電子 · 甲級 · 程式語言 · Q81
難易度分析
3 / 5
題目要求判斷多個選項的正確性,需理解識別字允許的字元類別及首字符限制,同時辨別常見陷阱(如以數字開頭或特殊符號),這使得評估難度在普通以上。
正確答案 (複選):①, ④
- ① _name:底線開頭是 C 語言允許的識別字命名方式,編譯器會將其視為合法符號名稱,常見於系統標頭檔的內部巨集或變數命名慣例。
- ④ my_name:字母開頭且僅含字母與底線完全符合 C 語言識別字規範,是實務上最推薦的蛇形命名法 (snake_case) 寫法,可讀性佳且相容所有編譯器。
錯誤選項解析
- ② 1_name:以數字開頭違反 C 語言識別字規則,編譯器會將其誤判為數值常數而非變數名稱,正確做法應以字母或底線作為起始字元。
- ③ #name:井字號 (#) 在 C 語言中是前置處理器指示詞的專用符號(如 #include、#define),不允許出現在識別字內,會導致語法錯誤。
Learning Tip
"C 語言識別字的三大鐵律:僅能使用英文字母、數字、底線,且首字不可為數字。常考陷阱包含混淆特殊符號(如 @、#、$)的合法性,以及將關鍵字 (keyword) 當作識別字使用。實務上建議避免以底線開頭加大寫字母的命名(如 _Name),因該格式保留給編譯器內部使用,可能引發未定義行為。"
學員答題分佈
①_name0%
②1_name0%
③#name0%
④my_name0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!