常數整數一律被當做 int 型態的資料。哪怕是很小的整數, 例如 1 可以被一個 byte 表示,但還是用了四個 bytes。 如果要設定使它成為 unsigned int 型態的資料,要寫 1U 或 256U。 如果要設定使它成為 long 型態的資料,要寫 1L 或 256L。 如果要設定使它成為 unsigned long 型態的資料,要寫 1UL 或 256UL。 以上的 U 和 L 也都可以用小寫字母。
只要常數中有一個小數點,就被認為是浮點數,一律被當做 double 型態的資料。 例如 1. 或 2.56,都是以八個 bytes 表達。 如果要設定使它成為 float 型態的資料,要寫 1.F 或 2.56F。 如果要設定使它成為 long double 型態的資料,要寫 1.L 或 2.56L。 浮點常數的另一種表達方式是指數表達, 例如 1E-2 和 2.56E2,分別等於 0.01 和 256.0。 以上的 F、L 和 E 都可以用小寫字母。
以 0 開頭的整數常數,以八進制數字解讀。 例如 037 == 31 是真。 以 0x 或 0X 開頭的字,被當做是一個十六進制的數字 (0x 和 0X 不含在內), 其中的字母部分可以是大寫或小寫。 例如 0x1f == 31 && 0x1F == 31 是真。 它們也都被當做 int 型態的資料, 在常數後面添加 U 或 L 或 UL,可以改變型態。
'x' 是 x 字符的機器內碼。 通常就是 ASCII 碼,但是要小心其他種類內碼的可能性。 例如 '0' 是 48 或 060 或 0x30。 在一對單引號 ' 裡面只能放一個字符, 或是一個跳脫字串 (escape sequence)。 以下是所有的跳脫字串。
\a | BEL (alert bell) | \v | VT (vertical tab) |
\b | BS (backsapce) | \\ | \ (back slash) |
\f | FF (formfeed) | \? | ? (question mark) |
\n | LF (linefeed) | \' | ' (single quote) |
\r | CR (carriage return) | \" | " (double quote) |
\t | HT (horizontal tab) |
'\0' 、 '\000' 、 '\x00' 都代表 0 號字元, 也就是 NUL 字元。它的數值就是 0 但是經常寫成 '\0' 以強調它是一個字元。
習題
注意:此處所有文件均為原著,個別的版權宣告日後會一一公布, 整體版面設計亦尚未完成。但仍請勿抄襲文字與圖片,以免觸犯著作權法。
Created: Apr 21, 2000
Last Revised: May 14, 2000
© Copyright 2000 Wei-Chang Shann 單維彰