C 速查手冊
1.4 常數
C 語言屬於基本資料型態 (data type)的常數 (constant) 有
整數
凡是以數字出現的都為 int 型態的整數常數,如
1234
65
963
0
利用前綴可以將整數常數表示為八進位或十六進位
前綴 | 種類 |
---|---|
0 | 八進位 |
0x, 0X | 十六進位 |
如
065 //等同十進位數字53
077 //等同十進位數字63
0x65 //等同十進位數字101
0xff //等同十進位數字255
利用後綴可以標明整數的型態,如無正負號整數、或是長整數等
後綴 | 種類 |
---|---|
u, U | 無正負號整數 |
l, L | 長整數 |
ll, LL | long long 整數 |
浮點數
凡是以帶小數點的數字都為 double 型態的浮點數常數,如
0.125
22.69896
101.002
33.
利用後綴可以標明浮點數的種類,如
後綴 | 種類 |
---|---|
f, F | float |
l, L | long double |
無 | double |
浮點常數也可以用科學記號的方法來表示,如
1.125e-1
3.521e4
5.1203e2
1e2
字母 e 前後分成兩部份,例如第一個數字 1.125e-1 , e 之前的 1.125 是標準化後的數字, e 之後的數字則為 10 的次方數,因此,這個數字會等於 1.125×10-1 。
列舉
列舉在 C 語言為一種特別的型態,其內的識別字會是逐項遞增的整數常數,如下
enum weeks {SUN, MON, TUE, WED, THU, FRI, SAT};
這樣編譯器會自動給 SUN 整數 0 的值,然後依次遞增, MON 為 1 , TUE 為 2 ... 等。也可以先給值,如
enum months {JAN = 1, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC};
這樣 JAN 的值會是 1 ,然後依次遞增。
字元
凡是以單引號圍住的字元都是字元常數,如
'a'
'5'
'M'
'!'
C 語言直接支援 ASCII 編碼,所以可在單引號中用反斜線 \ 加 ASCII 的八進位數字表示相同的字元
'\141' //與 'a' 相同
'\65' //與 '5' 相同
'\115' //與 'M' 相同
'\41' //與 '!' 相同
反斜線 \ 加 ASCII 的十六進位數字也可表示相同的字元
'\x61' //與 'a' 相同
'\x35' //與 '5' 相同
'\x4d' //與 'M' 相同
'\x21' //與 '!' 相同
有些不可見字元被稱為跳脫序列 (escape sequence) ,也可用反斜線 \ 加上代表該字元的符號來表示,以下是跳脫序列的完整列表
跳脫序列的字元 | 功能 |
---|---|
\a | 響鈴 |
\b | 倒退鍵 |
\f | 跳頁 |
\n | 印出新列 |
\r | 歸位符號 |
\t | tab 鍵 |
\v | 垂直定位符號 |
\\ | 印出反斜線 |
\? | 印出問號 |
\' | 印出單引號 |
\" | 印出雙引號 |