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

C 語言字元常量完整指南:單引號、轉義序列、八/十六進制 ASCII 碼表示法

     編輯:C 語言問答

字元常量基本語法

  • 用單引號括起**單一字元**:'a', 'Z', '9', ' ', '\n'
  • 型別為 int(C 標準),值為字元在執行字元集中的編碼(通常是 ASCII/UTF-8 碼點)。
  • sizeof('a') == sizeof(int)(通常 4),**非** sizeof(char)。

兩種表示法

類別語法範例說明
圖形字元'字元''A', '*', '中'(多位元組字元視實作而定)直接可讀
轉義序列\ + 字元/數字見下表表示不可列印/特殊控制字元

常用轉義序列表

序列意義ASCII 碼
\n換行 (LF)10 (0x0A)
\r歸位 (CR)13 (0x0D)
\t水平定位符9 (0x09)
\v垂直定位符11 (0x0B)
\b退格8 (0x08)
\f換頁12 (0x0C)
\a響鈴7 (0x07)
\\反斜線92 (0x5C)
\'單引號39 (0x27)
\"雙引號34 (0x22)
\?問號(避免三字元組)63 (0x3F)
\0空字元 (NUL)0 (0x00)

數值轉義:八進制與十六進制

  • 八進制:\ddd(1~3 位八進制數字,最大 \377 = 255)
    例:'\101' = 'A' (65 = 0101 八進制)
  • 十六進制:\xhh 或 \xhhhh(1~任意位十六進制數字)
    例:'\x41' = 'A' (0x41 = 65)

**等價關係**:'A' == '\101' == '\x41' == 65。

字串常量 vs 字元常量

  • "A" → 字串常量,型別 const char[2],含結尾 \0,值為**位址**。
  • 'A' → 字元常量,型別 int,值為**編碼數值**。

避坑提醒

  1. 多字元常量 'ab':標準允許但值**實作定義**,不可移植,**嚴禁使用**。
  2. char c = 'a'; 正確;char c = "a"; 錯誤(指標指向字串字面量)。
  3. printf("%c", 65); 輸出 A;printf("%d", 'A'); 輸出 65。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved