C++ 速查手冊 V1.00 - 單元 2.4 - 字面常數




凡是直接寫出來的數值 (value) 就是字面常數,基本內建型態如整數 (integer) 、浮點數 (floating-point number) 、布林 (Boolean) 、字元 (character) 等都有字面常數。


以數字出現的都是十進位整數字面常數,例如


    1234
    65
    963
    0

直接寫出來的數字型態為 int ,其他整數型態還有 shortlong

利用前綴可以將整數常數表示為八進位 (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_tchar32_t ,字面常數為在單引號前加上 Uchar32_t ,而 uchar16_t ,例如


    U'A' // char32_t
    u'a' // char16_t

continue ...

沒有留言: