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
1e2
1.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
相關教學影片