C 字面值常量

2021-09-10 01:42:57 字數 1883 閱讀 3782

乙個形如42的值被稱為字面值常量(literal)。每個字面值常量都對應一種資料型別,字面值常量的形式和值決定了它的資料型別。

字面值常量的型別有

(1)整型字面值

整型字面值可以寫作三種形式:十進位制數八進位制數十六進製制數。以0開頭的整數代表八進位制數,以0x或0x開頭的代表十六進製制數。如下為數值20的三種形式寫法:20 /*十進位制*/,024/*八進位制*/,0x14/*十六進製制*/。整型字面值具體的資料型別由它的值和符號決定。

(2)浮點數字面值

浮點型字面值表現為乙個小數或科學計數法表示的指數,其中指數部分用e或e標識:

3.14159—3.14159e0—0.—0e0—.001

預設的,浮點型字面值是乙個double型的值。

(3)字元字面值

由單引號括起來的乙個字元為char型字面值。

'a'  //字元字面值
有兩類字元是程式設計師不能直接使用的,一類是不可列印(nonprintable)的字元,如退格或其他控制字元,因為它們沒有可視的圖符;另一類是在c++語言中有特殊含義的字元(單引號、雙引號、問號、反斜線)。在這些情況下需要用到轉義序列(escape sequence),轉義序列均以反斜線作為開始,c++語言規定的轉義序列包括:

名稱字元

換行符\n

回車符\r

反斜線\\

單引號\'

雙引號\"

縱向製表符

\v

橫向製表符

\t

退格符\b

報警(響鈴)符

\a

問號\?

進紙符\f

(4)字串字面值

雙引號括起來的零個或多個字元構成字串字面值。

"hello world!"  //字串字面值
字串字面值的型別實際上是由常量字元構成的陣列(array),編譯器在每個字串的結尾處新增乙個空字元('\0'),因此,字串字面值的實際長度要比它的內容多1。如,字面值'a'表示的就是單獨的字元a,而字串"a"則代表了乙個字元的陣列,該陣列包含兩個字元:乙個是字母a,另乙個是空字元

如果兩個字串字面值位置緊鄰且僅由空格、縮排和換行符分隔,則它們實際上是一種整體。當書寫的字串字面值比較長,寫在一行裡不太合適時,就可以採取分開書寫的方式:

// 分多行書寫的字串字面值

std::cout<<"a really,really long string literal "

"that spans two lines"<(5)布林字面值

布林型別的字面值有兩個:truefalse

bool test=false;

(6)指標字面值

指標字面值為:nullptr

c 字面值常量

字面值常量 literal constant 字面值 是指只能用它的值稱呼它,常量 是指其值不能修改。每個字面值都有相應的型別,3.14是double型,2是int型。只有內建型別存在字面值。1.整形字面值規則 整形字面值常量可以用十進位制 八進位制 十六進製制表示。20 dec 024 oct 以...

字面值常量

乙個形如 39 的值被稱作字面值常量 literal 每個字面值常量都對應一種資料型別,字面值常量的形式和值決定了它的資料型別。整型字面值寫作十進位制數 八進位制數或十六進製制數的形式。以0開頭的整數代表八進位制數,以0x或0x開頭的代表十六進製制數。下面的任意一種形式都表示數值 20 20 十進位...

C 中字面值常量和字面值型別

乙個形如42的值被稱為字面值常量。字面值常量的形式和值決定了常量的型別。例如0x42是16進製表示的整型常量。a 是char型字面值。字面值常量顧名思義由字面意思表示,是常量。字面值常量在程式中是直接表示的,整型直接寫出大小,字元直接寫出字元。乙個字面值常量在編譯時被直接解析為立即數,編譯器內部維護...