常量及其類型


2.2 常量及其類型

常量是指在程序運行過程中,其值保持不變的量。常量也分各種類型。

 

1. 整數

整數在計算機中是准確表示的,C語言中的整數可以用十進制、八進制和十六進制表示。

(1)    八進制整數是以數字0開頭,八進制整數一般不使用負數。

(2)    十六進制整數是以數字0和字母x(大小寫均可)打頭。例如,0x2f是一個十六進制,相當於十進制的47。十六進制整數也不使用負數。

在整數后面加上后綴u或U表示無符號整數,如70000u,0123u,0x567abU等。

在整數后面加上后綴l或L表示長整數,如-124783648l,1234567890L等。

在整數后面加上后綴ul或UL表示無符號長整數,如3456ul,1234567890ul等。

2. 實數

實數是在計算機中近似表示的。實數只能用十進制表示而不能用其它進制表示,有兩種書寫格式。

(1)小數格式。由正負號、整數部分、十進制小數點和小數部分表示。為了計算機正確識別實數,書寫小數點是必不可少的。如: .543、-25、0. 、.0 、0.0

(2)指數格式。在小數格式基礎上,后面再加上一個e或E后跟一個1~3位整數部分。如: -1.234E8、2.74e-02、2.71828e0、.86e-3、1e-2等。

3. 字符常量

字符常量是指僅含單個ASCII字符的常量。有兩種表示方法。

(1)單引號表示法。對可顯示字符,直接用單引號將該字符括住。

(2)轉義字符表示法。對不可顯示字符,主要指那些控制字符如換行符、回車符、制表符等,還有一些在C語言中有特殊含義和用途的字符如單引號、雙引號、反斜杠等,只能用轉義字符表示。

轉義字符既可以由反斜杠開頭后跟某個特定字母的形式表示(如 ’\n’ , ’\t’ )也可以用反斜杠開頭,后跟1~3位八進制數(此時,八進制前不可以加0)或1~2位十六進制數(此時,十六進制數前面必須冠以小寫字母x,x前面也不能帶數字0)來表示(如 ‘\012’ , ‘\xa’等),這些八進制或十六進制數表示對應字符的ASCII代碼。

當然,可顯示字符也可以用轉義字符表示。例如,’A’,’\101’,’\x41’都代表字母A

轉義字符

含義

十進制ASCII代碼值

說明

\0

NULL

0

ASCII代碼值為0

\a

BELL

7

報警鈴響

\b

BS

8

退格符(backspace

\f

FF

12

換頁符

\n

NL(LF)

10

換行符

\r

CR

13

回車符

\t

HT

9

水平制表符(Tab

\v

VT

11

垂直制表符

\\

\

92

反斜杠

\’

44

單引號

\”

34

雙引號

C語言對字符型和整型是不加區分的,字符常量被忽視為1字節的整數,可以像整數一樣參加數值運算,其值就是該字符的ASCII碼。

4. 字符串常量

字符串常量是用雙引號括起來的0個或多個字符的序列。

(1) 字符串常量的存儲方式。按字符串中字符從左到右的順序依次占用連續的存儲單元,每個字符占一個字節,存放其對應的ASCII碼。C編譯系統會在每個字符串常量的末尾追加一個零字符NULL( ‘\0’ )作為字符串的結束標識符。所以,一個含有n個字符的字符串常量要占用n+1個字節的存儲空間。但零字符NULL打印時不顯示。

(2) 字符串常量和字符常量的區別。

每個字符常量只占用一個字節的存儲空間,而字符串常量則要占用一批連續的存儲單元,其所占字節數為字符串長度加1.

字符型常量可以存放在字符串常量中,而字符串常量則必須放在字符串數組中。

字符型常量可以和整數混合運算,而字符串常量不可以。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM