C数据类型——常量

常量就是在程序中不能改变其值的量。按类型划分为:整型常量、实型常量、字符常量、字符串常量和枚举常量。

表2-1 一些关于常量的实例

常量的类型

实例

备注

整型常量

10,-30,0

包括正整数、负整数、零在内的所有整数

实型常量

3.14,-0.56,18.0

由于计算机中的实型数是以浮点形式表示的,即小数点位置是可以浮动的,因此实型常量既可以称为实数,也可以称为浮点数

字符型常量

‘x’,‘X’,‘0’,‘9’

用一对单引号括起来的任意字符

字符串常量

“Hello!”,“K88”,“9”

用一对双引号括起来的零个或多个字符

表2-2 不同进制的整型常量的表示形式

进制

整数17的不同进制表示

整数-31的不同进制表示

特点

十进制

17

-31

以10为基的数值系统称为十进制。由0~9的数字序列组成,数字前可以带正负号

二进制

00010001

(0*2^7+0*2^6+0*2^5+1*2^4+0*2^3+0*2^2+0*2^1+1*2^0 = 17)

-000011111

(-(0*2^7+0*2^6+0*2^5+1*2^4+1*2^3+1*2^2+1*2^1+1*2^0)) = -31

以2为基的数值系统称为二进制。二进制整数由0、1数字序列组成。在二进制系统中,数10相当于十进制中的数2

八进制

021

(将00010001从最低位开始三位一组得到其压缩表示021)

(2*8^1+1*8^0 = 17)

-037

(将-000011111从最低位开始三位一组得到其压缩表示-037)

(-(3*8^1+7*8^0))=-31

以8为基的数值系统称为八进制。八进制整数由数字0开头,后跟0~7(可用三位二进制位表示)的数字序列组成。在八进制系统中,数10相当于十进制中的数8

十六进制

0x11

(将00010001从最低位开始四位一组得到其压缩表示0x11)

(1*16^1+1*16^0 = 17)

-0x1F

(将-000011111从最低位开始四位一组得到其压缩表示-0x1F)

(-(1*16^1+F*16^0))=-31

以16为基的数值系统称为十六进制。十六进制整数由数字0加字母x(或X)开头,后跟0~9,a~f或A~F(可用4位二进制位表示)的数字序列组成。在十六进制系统中,数10相当于十进制中的数16

表2-3 不同类型的整型常量的表示形式

不同类型的整型常量

实例

特点

有符号整型常量

10,-30,0

默认的int型定义为有符号整数,因此对int型无须使用signed

无符号整型常量

30u,256U

无符号整型常量由常量值后跟U或u来表示,不能表示成小于0的数,如-30u就是不合法的

长整型常量

-256l,1024L

长整型常量由常量值后跟L或l来表示

无符号长整型常量

30lu

无符号长整型常量由常量值后跟LU、Lu、lU或lu来表示

表2-4 实型常量的表示形式

不同形式的实型常量

实例

特点

十进制小数形式

0.123,-12.35,.98

十进制小数形式与人们表示实数的惯用形式同,是由数字和小数点组成的。注意必须有小数点,如果没有小数点,则不能作为小数形式的实型数

指数形式

3.45e-6

(等价于0.0000034)

指数形式用于直观地表示绝对值很大或很小数,在C语言中,由于程序编辑时不能输入上角标,所以以字母e或E来代表以10为底的指数。其中,e的左边是数值部分(有效数字),可以表示成整数或者小数形式,它不能省略;右边是指数部分,必须是整数形式

表2-5 不同类型的实型常量的表示形式

不同类型的实型常量

实例

特点

单精度(float)实型常量

1.25F,1.25e-2f

单精度实型常量由常量值后跟F或f来表示

双精度(double)实型常量

0.123,-12.35,.98

实型常量隐含按双精度型处理

长双精度(long double)实型常量

1.25L

长双精度实型常量由常量值后跟L或l来表示

原文链接:,转发请注明来源!