常量只有四類:整型常量,浮點(diǎn)常量,枚舉常量 和 字符常量。
每類都有自己的一點(diǎn)規(guī)定,這個說起來比較扯,但記起來很容易:
整型常量有三類:十、八、十六進(jìn)制常量。
十進(jìn)制的是指:非零數(shù)字起始的數(shù)字序列。
八進(jìn)制:0起始的八進(jìn)制數(shù)字序列。八進(jìn)制數(shù)字是指 0-7 這八個數(shù)字
十六是:0x 或 0X 起始的十六進(jìn)制數(shù)字序列。十六進(jìn)制數(shù)字是指 0-9 a-f A-F 這些。
以上三類都可以追加整型后綴u, U, l, L, ll, LL 用以分別表示常量是 usigned, long, long-long 類型。
浮點(diǎn)也有兩類:一類是十進(jìn)制浮點(diǎn)常量,另一個是十六進(jìn)制浮點(diǎn)常量(這個不是很常用)。
十進(jìn)制的有兩種上表示方法:
一種借助小數(shù)點(diǎn)的:d.d .d d. 這三種形式。其中的 d 是數(shù)字序列的意思。
一種不用小數(shù)點(diǎn),就必須給出指數(shù)部分(就是用科學(xué)記數(shù)法)。
即使使用第一種方法,后面也可以再根指數(shù)部分,就是加個 e 或者 E 再可選地加一個正負(fù)號,再數(shù)字序列。
十六進(jìn)制的,大體上差不多,但不管你前面有沒有小數(shù)點(diǎn),后面的指數(shù)部分都必須給出。用 p 或 P 代替 e E。
所有類型都可以加后綴 f F l L。
枚舉的一般不會考試出的,我想。它的語法也相對簡單,就是加個 const 。我就不多說了。
字符的其實(shí)最復(fù)雜。
簡單的說就是用 '' 把數(shù)個(*見我后面的解釋)字符括起來。比如 'a'。它也有兩類,一個是所謂的普通字符常量。另一個(如果是應(yīng)試的話其實(shí)可以無視),是寬字符常量,區(qū)別就是前面給個綴L,比如 L'a'。
但是它有一些轉(zhuǎn)義的規(guī)則。使得用文字描述起來超吃力,初學(xué)者也容易迷糊。
轉(zhuǎn)義規(guī)則有三類:簡單轉(zhuǎn)義,八進(jìn)制轉(zhuǎn)義 和 十六進(jìn)制轉(zhuǎn)義。
簡單轉(zhuǎn)義就是指 \' \" \? \\ \a \b \f \n \r \t \v 這么固定的幾個。
八進(jìn)制是指 \ 后跟一至三個八進(jìn)制數(shù)的形式,如 \1 \12 \ 123
十六進(jìn)制是指 \x 后跟一個以上十六進(jìn)制數(shù)字的形式,如 \xa \x123abc 這樣的。但限制是追加的值不能超過 unsigned char 或者 wchar_t 表示的上限。
在語義上,一個字符常量的類型是 int 。