整型常量就是通常的整数,包括正整数、负整数和0,其数据类型显然是整型。除此之外,整型常量包括短整型、长整型和无符号型等不同类型

基本介绍

C语言中,整型常量有三种书写形式:

(1)十进制整数。十进制整数就是通常整数的写法。例如:0、11、15、21等。

(2)八进制整数。八进制整数的书写形式是在通常八进制整数的前面加一个数字0。例如:00、0111、015、021等,它们分别表示十进制整数:0、73、13、17

(3)十六进制整数。十六进制整数的书写形式是在通常十六进制整数的前面加0x。例如:0x0、0x111、0x15、0x21等,它们分别表示十进制整数0、273、21、33。

注意,整型常量前面没有+或者-,-10其实是一元-运算符和操作数10。

整型常量在一般微型机中占用2个字节,不管是十进制、八进制或十六进制整数,它们的数值范围都是十进制的-32768~+32767。

为扩大整型数据的数值范围,C语言还提供了一种“长整型常量”。它们的数值范围是十进制的-2147483648~+2147483647,在计算机中占用4个字节。它的书写方法也分为十进制、八进制和十六进制整数三种,唯一不同的是在整数的末尾要加上小写字母“l”或者大写字母“L”。例如:0L、0111L、0x15L都是长整型常量(分别使用十进制、八进制和十六进制表示)。

相对于“长整型常量”,我们把一般整型常量称为“短整型常量”。

如果整型常量后面没有字母“l"或”L“,而且超过短整型常量能够表示的数值范围,则自动认为该常量是长整型常量。例如-32769、32768、40000等均为长整型常量。

由于整型常量分为短整型和长整型两种,又有十进制、八进制和十六进制的三种书写形式,所以使用整型常量时,要注意区分。例如:10和10L是不同的整型常量,虽然它们有相同的数值,但它们在内存中占用不同数量的字节;又如:10、010、0x10虽然都是短整型常量,但它们表示不同的整数值。