首页 理论教育 C语言整型数据及分类-程序设计入门

C语言整型数据及分类-程序设计入门

时间:2023-10-26 理论教育 版权反馈
【摘要】:如0x123表示十六进制数123,相当于十进制数291。整型变量的分类整型变量的基本数据类型符为int。

C语言整型数据及分类-程序设计入门

1.整型常量

整型常量的表示方法:

十进制整数,如15、68、-12。

八进制整数,以0开头的数是八进制数。例如:0123表示八进制数123,相当于十进制数83。

十六进制整数。以0x开头的数是十六进制数。如0x123表示十六进制数123,相当于十进制数291。

2.整型变量

(1)整型变量在内存中的存放形式

数据在内存中是以二进制形式存放的。比如int i=10;十进制数10对应的二进制数为1010,所以在内存中存放的是1010。

(2)整型变量的分类

整型变量的基本数据类型符为int。可以根据数值的范围将变量定义为基本整型、短整型或长整型。

➢基本类型:以int表示;

➢短整型:以short int或者short表示;

➢长整型:以long int或者long表示。

一个int型变量的范围为-2147483648~2147483647,即-231~(231-1),其余数据类型以此类推。

例2.2:测试整型所占内存大小(www.xing528.com)

例2.2中通过sizeof求每种类型在内存中所占字节的大小(长度),如图2.4所示。

图2.4 检测数据类型的长度

img

使用不同的编译系统时,具体情况可能有些差别,例如Visual C++为整型数据分配4字节(32位),其取值范围为-2147483648~2147483647;而Turbo C/Turbo C++为整型数据分配2字节(16位),取值范围为-32768~32767。

3.整型数据的溢出

我们知道类型都有一定的取值范围,如果我们在程序中使用变量时超出了范围,那将会出现什么情况?

例2.3:整型数据的溢出

在例2.3中声明了两个短整型变量a和b,它们的取值范围都是在-32768~32767之间,将此范围的最大值赋给变量a,然后执行b=a+1时,b就发生了“溢出”。但运行时并没有报错,它好像汽车里程表一样,达到最大值之后,又从最小值开始计数。所以,32767加1得不到32768,而得到了-32768。解决办法:将short改为long,b就能得到预期的结果32768,如图2.5所示。

图2.5 例2.3程序运行结果

4.整型常量的类型

整型变量可分为int、short、long等类别,那么常量是否也有这些类别?不同类别的常量和变量是如何进行匹配的?请注意以下几点:

➢一个整数,如果其值在-2147483648~2147483647,就认为它是int型,它可以赋值给int型和long int型。

➢在一个整型常量后面加一个字母l(long的首字母)或者L,则认为是long int型常量,例如12l、56L等。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈