
C++ 速查手冊
2.4 - 字面常數
凡是直接寫出來的數值 (value) 就是字面常數,基本內建型態如整數 (integer) 、浮點數 (floating-point number) 、布林 (Boolean) 、字元 (character) 等都有字面常數。
以數字出現的都是十進位整數字面常數,例如
1234
65
963
0直接寫出來的數字型態為 int ,其他整數型態還有 short 與 long 。
利用前綴可以將整數常數表示為八進位 (octal) 或十六進位 (hexadecimal)
| 前綴 | 種類 | 
|---|---|
| 0 | 八進位 | 
| 0x, 0X | 十六進位 | 
如
065 // 等同十進位數字 53
077 // 等同十進位數字 63
0x65 // 等同十進位數字 101
0xff // 等同十進位數字 255利用後綴可以標明整數為 long 型態,也就是長整數,或是標明為無正負號整數
| 後綴 | 種類 | 
|---|---|
| l, L | 長整數 | 
| u, U | 無正負號整數 | 
帶小數點的數字就是浮點數,如
0.125
22.69896
101.002
33.直接寫出來的浮點數型態為 double ,其他浮點數型態還有 float 。
利用後綴可以標明浮點數的種類,如
| 後綴 | 種類 | 
|---|---|
| f, F | float | 
| l, L | long double | 
浮點數也可以用科學記號的方法來表示,如
1.125e-1
3.521e4
5.1203E2
1e21.125e-1 = 1.125×10-1
至於布林 bool 的「真」就是關鍵字 true 或是非 0 的整數,「假」就是關鍵字 false 或是整數 0 。
字元 char 則是以單引號圍起來的單一符號,如
'a'
'%'
'S'
'3'
']'
' 'char 可以直接使用 ASCII 編碼的符號,也就是在英文鍵盤上直接打出來的符號,此外 ASCII 也可以用 8 進位或 16 六進位的表示方式。 8 進位須以反斜線開頭,其後接 8 進位數字,如
'\141' // 與 'a' 相同
'\45'  // 與 '%' 相同
'\123' // 與 'S' 相同
'\63'  // 與 '3' 相同16 進位則以 \x 開頭,其後接 16 進位數字,如
'\x61' // 與 'a' 相同
'\x25' // 與 '%' 相同
'\x53' // 與 'S' 相同
'\x33' // 與 '3' 相同有些不可見字元被稱為跳脫序列 (excape sequence) ,可用反斜線 \ 加上代表該字元的符號來表示,以下是完整列表
| 跳脫序列的字元 | 功能 | 
|---|---|
| \a | 響鈴 | 
| \b | 倒退鍵 | 
| \f | 跳頁 | 
| \n | 新列 | 
| \r | 歸位符號 | 
| \t | tab 鍵 | 
| \v | 垂直定位符號 | 
| \\ | 反斜線 | 
| \? | 問號 | 
| \' | 單引號 | 
| \" | 雙引號 | 
寬字元 wchar_t ,字面常數為在單引號前加上 L ,例如
L'A'
L'a'C++11 增加兩個 Unicode 字元型態,分別是 char16_t 及 char32_t ,字面常數為在單引號前加上 U 為 char32_t ,而 u 為 char16_t ,例如
U'A' // char32_t
u'a' // char16_t相關教學影片
