首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言問答

C語言基礎選擇題詳解:逗號運算符、typeof、轉義字符、ASCII碼

     編輯:C 語言問答

題目回顧與答案

圖片題目為 4 道單選題,答案依次:**B、B、B、C**。

逐題深度解析

第 11 題:運算符優先級


// 題目類似:表達式求值順序
// 選項涉及:逗號運算符、賦值運算符、算術運算符等

答案:B

核心知識點:C語言運算符優先級(從高到低)節選:

  1. 后綴 `() [] -> .`
  2. 一元 `++ -- + - ! ~ * & (type) sizeof`
  3. 算術 `* / %` → `+ -` → `<< >>` → `< <= > >=` → `== !=` → `&` → `^` → `|` → `&&` → `||`
  4. **條件 `?:`**
  5. **賦值 `= += -= *= /= %= &= ^= |= <<= >>=`**
  6. **逗號 `,`**

結論:**逗號運算符優先級最低**,賦值運算符次之。表達式中逗號最後結合,賦值倒數第二。此題考察對「逗號最低、賦值次低」的記憶。

第 12 題:typeof 關鍵字 (GNU 擴展)


// 題目:typeof(原類型) (標識符) 的作用

答案:B

解析:typeof 是 **GCC/Clang 擴展**(非標準 C),用於獲取表達式或類型的類型,常用於定義類型別名:


typeof(int) a;          // 等價 int a;
typeof(1.5) b;          // 等價 double b;
typeof(struct Node*) p; // 等價 struct Node* p;

// 進階用法:類型安全的宏
#define MAX(a,b) ({ typeof(a) _a = (a); typeof(b) _b = (b); _a > _b ? _a : _b; })

題目描述「用標識符替代原數據類型聲明變量」正是此意。注意:標準 C 無 typeof,C23 引入 typeof() / `typeof_unqual()` 標準化,但廣泛使用仍依賴編譯器擴展。

第 13 題:字符常量與轉義字符


// 選項類似:
// A. '\n'  B. "\n"  C. '\x41'  D. 65

答案:B

解析:

  • '\n':字符常量(類型 int,值 10),**合法**。
  • "\n":字符串字面量(類型 char*,指向含 '\n', '\0' 的數組),**非字符常量**,故為錯誤選項(若題目問「哪個不是字符常量」)。
  • '\x41':十六進制轉義字符(值 0x41 = 65 = 'A'),**合法**。
  • 65:整型常量,可隱式轉換為字符,賦值給 char **合法**。

若題目問「哪個不能作為字符常量」,答案為 **B (字符串)**。

第 14 題:基本知識(具體內容圖片不可見,推測為基礎概念)

答案:C

常考點:主函數返回類型、頭文件作用、預處理指令、基本數據類型大小、數組下標從 0 開始等。建議複習《C Primer Plus》前 5 章。

舉一反三:易混淆考點總結

考點關鍵區別記憶口訣
逗號 vs 賦值優先級逗號最低,賦值次低「逗號最後,賦值倒二」
typeof vs typedeftypeof 取類型(編譯期),typedef 起別名(聲明)typeof像sizeof,typedef像#define
字符 'a' vs 字符串 "a"前者 int 值,後者 char* 地址單引號一個字,雙引號一串字(含\0)
轉義 \xNN vs \NNN十六進制無長度限(至非十六進制字符),八進制最多3位\x變長,八進制固3位

備考建議

  1. 刷真題:計算機二級 C 語言題庫、各大學期末真題、LeetCode Easy 標簽 C 語言題。
  2. 手寫代碼:考試多為紙筆/無 IDE 環境,練習手寫 scanf/printf 格式符、循環結構、指針操作。
  3. 畫內存圖:指針、數組、結構體題必畫圖,標註地址、值、箭頭。
  4. 查標準:不確定時查 C99/C11 標準草案或 cppreference.com,養成權威查閱習慣。

總結

本組題目覆蓋運算符優先級、GNU擴展typeof、字符/字符串常量區別三大核心基礎知識點。掌握優先級表、理解 typeof 編譯期類型查詢機制、分清單雙引號本質差異,即可秒殺此類選擇題。建議將優先級表、常用轉義字符、基本類型大小打印貼在顯眼處,反覆內化。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved