常量及其类型

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.

字符型常量可以存放在字符串常量中,而字符串常量则必须放在字符串数组中。

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

posted @ 2016-11-16 23:55  Ladouli  阅读(3378)  评论(0编辑  收藏  举报