整型常量

更新时间:2024-04-28 08:01:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第二节 整型数据

2、整型常量

? 在C语言中,整型常量分为十进制整型常量、八进制整型常量和十六进制整型常量

三种表示形式。注意,在C语言中没有直接表示二进制的整型常量。(常考) (1)十进制整型常量由一串连续的0~9数字组成。如:0、120、365、-12等。 (2)八进制整型常量以数字0开头,其中的数字为0~7。如:0112(十进制74)、0123(十进制83)、077(十进制63)等。

(3)十六进制整型常量以0x(数字0和字母x)或0X开头,其中的数字可以是0~9、a~f或A~F中的数字或英文字母。如:0x11(十进制17)、0xa5(十进制165)、0X5a(十进制90)等。

整型常量又分为短整型(short int)、基本整型(int)、长整型(long int)和无符号整型(unsigned)等几类。

例1: 以下选项中可作为C语言合法整数的是

A) 10110B B) 0386 C) 0Xffa D) x2a2 分析:本题答案为C。

选项(A)不是C语言中三种整型常量之一。

选项(B)不是合法的八进制整型常量,因为八进制整型常量中不可能出现“8”字符。

选项(D)中x2a2前加上“0”就是一个合法的十六进制整型常量。

3、整型变量

整型变量是用于存放整型值的变量。对应于整型常量,整型变量也可分为短整型(short int)、基本整型(int)、长整型(long int)和无符号整型(unsigned)四种。

定义基本整型变量用关键字int,形式如下:

int i;

int类型所占据的字节长度因不同类型的机器或编译器而有所不同:

如果使用VC++6.0,则会为int型变量分配4个字节长度的存储单元。我们使用的将是这种情况。

如图1所示。图中表示对定义的int型整型变量i分配了四个字节的存储单元,这个存储单元的名字为i,里面的内容不确定。

图1 计算机系统为整型变量i分配的内存空间

当对变量i赋值时,这个值就存储在这个存储单元中。

例如,执行了赋值语句:

i=6;

则变量i的存储单元变为如图2所示的情况。

00000000 00000000 00000000 00000110

图2 十进制整数6存放在变量i的内存空间中的形式

正如读者所知,在计算机中实际上是以二进制形式存储数据的,所以在变量i的存

储单元中存放的是四个字节的二进制数00000000 00000000 00000000 00000110(十进制6)。

C语言中规定,在定义变量的同时给变量赋初值,称为变量初始化。例如: main( )

{ int a=2,b=3,c=4; ?? }

表2 不同类型的整型数在内存中所占用的字节数和数值范围

数据类型 短整型 无符号短整型 基本整型 无符号整型 长整型 无符号长整型

关键字 [signed] short [int] unsigned short [int] [signed] int unsigned [int] [signed] long [int] unsigned long [int]

占用的字节数

2 2 4 4 4 4

数值范围

-32768~32767 0~65535

-2147483648~2147483647 0~4294967295

-2147483648~2147483647 0~4294967295

说明:

1) 如果要表示一个长整型常量,则应该在对应的整型常量后面加上一个字母后缀l(L的小写)或者是L。如0L、110L、123L等。这是因为如果不加上L(或l),则表明这个整型常量为基本整型常量,在内存中占两个字节的存储单元,而加上之后,则表明为长整型常量,在内存中占四个字节存储单元。

2)无论是短整型还是长整型常量,C语言系统都默认为是有符号整数。无符号整数在数字的后面加上一个字母后缀u或者是U。若是长整型无符号整型常量,则应该加后缀lu或者是LU。

例2: 以下选项中不属于C语言的类型的是 A) signed short int B) unsigned long int C) unsigned int D) long short 分析:根据表2可知,正确答案为D。

4、整数在内存中的存储形式

在计算机内存中最小存储单位称为“位(bit)”。每一个位中或者存放0,或者存放1,因此称为二进制位。一个字节(Byte)有8个二进制位。沿用惯例,把最右边一位称为最低位,把最左边一位称为最高位。在C语言中,对于有符号型整数,将最高位作为符号位,当最高位为0时表示正整数,当最高位为1时表示负整数。

下面介绍整数的存储形式。

注意:计算机中(或者说内存中)的数据都以它对应的补码形式存在。

本文来源:https://www.bwwdw.com/article/l89g.html

Top