3-2、C语言的整型常量

430 阅读2分钟

什么是常量?

常量又称为常数,是在程序运行过程中其值不能改变的数据,例如: -1,938等等。

常量有以下几种:整形常量实型常量字符型常量字符串常量符号常量

整形常量

整型常量也称整数常量,不带小数的常量,即正整数、负整数、0。

在C语言中整形常量有三种:
1、八进制整形常量,必须以0开头,即以0作为八进制整数的前缀,是由数字0-7组成的数字串。例如0123和0400,它们分别表示十进制的整数83和256。
2、十进制整形常量,即通常的整数,没有前缀,是由数字0-9组成的数字串,是C语言中用得最多的一种形式。
3、十六进制整形常量,必须以0X或0x开头,即以0X或0x作为十六进制的前缀,是由字符0-9、a-f或A-F组成的字符串。例如 0X123和-0x1d,它们分别表示十进制的整数291和-29。

内存

对于整形常量在16位PC中,一般占用内存的2字节,无论是八进制、十进制、十六进制,其值域均为215-2^{15} —— (21512^{15}-1),即-32768~32767。为了扩大整型数据的数值范围,C语言还提供了一种长整型常量,长整型需要在整型常量的数值后面加L或1,例如 12L 和 -91等都是长整型常量。对超出整型常量值域的数据可使用长整型常量表示,其取值范围可达231-2^{31}~(23112^{31}-1),即-2 147 483 648 ~ 2 147 483 647。长整型常量一般占用内存的4字节

由于整型常量分为基本整型、短整型和长整型,又分为八进制、十进制和十六进制三种书写形式,所以使用整型常量时应注意区分。例如123和132L表示不同的整型常量,虽然它们的数值相同,但其在内存中占用的字节数不同;又如12、012和0x12,虽然均为整型常量,但它们表示的数值不同。