整数常量是直接在程序中使用的数字,如123。整数常量默认为十进制,但可以加上特殊前缀表示为其他进制。

列举几个常见进制如下:

1、十进制,如果一个数没有特定的前缀,则默认为十进制。

2、二进制,以2为基底,只有数字0和1是有效的。

3、八进制,以8为底的进制,只有0到7是有效的字符。八进制数字的前缀是0。

4、十六进制,以16为基底,有效的字符为0到9和A到F。

整型常量是什么?

整型常量分为十进制整型常量、八进制整型常量和十六进制整型常量三

种表示形式。

(1)十进制整型常量

这种常量只能出现 0~9 的数字,且可带正、负号。例如:

0 1 364 28 -34

(2)八进制整型常量

这种常量是以数字 0 开头的八进制数字串。其中数字为 0~7。例如:

0111(十进制 73) 011(十进制 9) 0123(十进制 83)

(3)十六进制整型常量

这种常量是以 0x或 0X开头的十六进制数字串。其中每个数字可以是 0~9、a~f或 A~

F 中的数字或英文字母。例如:

0x11(十进制 17) 0Xa5(十进制 165) 0x5a(十进制 90)

什么是整数常量

规范说法应该为整型常量。

1.八进制整常数必须以0开头,即以0作为八进制数的前缀。数码取值为0~7。八进制数通常是无符号数。

以下各数是合法的八进制数:

015(十进制为13) 0101(十进制为65) 0177777(十进制为65535)

以下各数不是合法的八进制数:

256(无前缀0) 0382(包含了非八进制数码) -0127(出现了负号)

2.十六进制整常数

十六进制整常数的前缀为0X或0x。其数码取值为0~9,A~F或a~f。

以下各数是合法的十六进制整常数:

0X2A(十进制为42) 0XA0 (十进制为160) 0XFFFF (十进制为65535)

以下各数不是合法的十六进制整常数:

5A (无前缀0X) 0X3H (含有非十六进制数码)

3.十进制整常数

十进制整常数没有前缀。其数码为0~9。

以下各数是合法的十进制整常数:

237 -568 65535 1627

以下各数不是合法的十进制整常数:

023 (不能有前导0) 23D (含有非十进制数码)

在程序中是根据前缀来区分各种进制数的。因此在书写常数时不要把前缀弄错造成结果不正确。例如,数组int power_of_10[4]={0001,0010,0100,1000}的初值会被解释为{1,8,64,1000}。

4.整型常数的后缀

在16位字长的机器上,基本整型的长度也为16位,因此表示的数的范围也是有限定的。十进制无符号整常数的范围为0~65535,有符号数为-32768~+32767。八进制无符号数的表示范围为0~0177777。十六进制无符号数的表示范围为0X0~0XFFFF或0x0~0xFFFF。如果使用的数超过了上述范围,就必须用长整型数来表示。长整型数是用后缀“L”或“l”来表示的。例如:

十进制长整常数 158L (十进制为158) 358000L (十进制为-358000)

八进制长整常数 012L (十进制为10) 077L (十进制为63) 0200000L (十进制为65536)

十六进制长整常数 0X15L (十进制为21) 0XA5L (十进制为165) 0X10000L (十进制为65536)

长整数158L和基本整常数158在数值上并无区别。但对158L,因为是长整型量,C编译系统将为它分配4个字节存储空间。而对158,因为是基本整型,根据计算机的内部字长和编译器的版本分配2或4个字节的存储空间。因此在运算和输出格式上要予以注意,避免出错。对长整型都表示不了的大数,某些编译器规定可有64位整常数表示,后缀为“LL”或“ll”。有时,因为特殊需要,可能要对短整型进行特殊标记,只有部分编译器支持短整型的后缀“S”或“s”。无符号数也可用后缀表示,整型常数的无符号数的后缀为“U”或“u”。例如:358u,0x38Au,235Lu均为无符号数。前缀,后缀可同时使用以表示各种类型的数。如0XA5Lu表示十六进制无符号长整数A5,其十进制为165。

什么是整型常量

整型常量就是整常数,包括从负数到零到正数的所有整数。

所谓N进制就是满N即向前进一位,如二进制表示1、2、3、4、5分别为1、10、11、100、101,八进制表示1、8、16为1、10、20等。

由于计算机是二进制的,所有数据都是以不同的0、1组合存储在单元(存储单元长度由所使用的编译器决定,TC多为为2字节,VC多为4字节)中。所有出现在程序中的整型常量也是以对应的二进制存储,如int a=1,存储为0000000000000001,表示1*2^0=1,int b=17存储为0000000000010001,表示1*2^4+0*2^3+0*2^2+0*2^1+1*2^0=17。

在输入、输出数据时都可以选择不同的进制类型数据,如十进制:直接输如数据(eg:b=17)、输出用%d确定类型;八进制:输入的数据前加一个0(eg:b=017)、输出用%o;十六进制:输入的数据前加0x(eg:b=0x17)、输出用%x。不同的进制方式对应不同的数,如b=17(十进制输入),按照十进制、八进制、十六进制依次输出为17(1*10^1+7*10^0=17),021(2*8^1+1*8^0=17),0xf1(f*16^1+1*16^0=17)。

PS:二进制只有0、1;八进制是0~7;十进制是0~9;十六进制是0~9,a~f,a=10,b=11……f=15。.

整数变量和整数常量有什么区别

整数变量是在整数范围内没有确定值的量;整数常量是在整数范围内有确定值的量。

如:重力是物质的质量和10牛顿/千克的积。

这里的10就是整数常量。而当质量的小数位数不大于1时,重力就是整数变量。因为重要会随着质量的变化而变化,并没有一个确定的值,如当质量为10千克时,重力为100牛;质量为2.5千克时,重力为25牛。

(注:这里借用了重力公式:G=mg。g取10牛顿/千克,有时也取9.8牛顿/千克,为了因应这里的需要,取整数)

C语言里面的常量是什么?

C语言里面的常量是指不会变化的常数或编码,例如圆周率3.14就可以定义为一个常量。

“常量”的广义概念是“不变化的量”,例如:在计算机程序运行时,不会被程序修改的量;数学函数中的某一个量,例如每一个具体的圆的半径、直径数值;物理学中的靠近地面的重力加速度;真空中的光速数值;不同的微粒的各自的质量。

一层含义指它们的编码方法是不变的,但是严格来说“人为规定的某一种方法也可以因地制宜而人为改变,所以其本身数值大小‘不是‘常量’的内涵”。比如字符'A'无论在硬件、软件还是各种编程语言中,它的信息编码即为 “ 0x41”。

扩展资料:

C语言中,常量概念容易存在的错误解释:

在除了“C/C++”的一些高级程序语言中,“常量”可以被称作,“在一个信息变化过程中,始终不发生改变的量”,其可以是不随着时间变化的某些量的固定信息;也可以表示为某一数值的字符(或字符串),常被用来标识、测量和比较两者的差异。

但在 “C/C++语言中”,“常量”如果还用“运行过程中不变的量”来描述,就显得不太准确了,甚至是在具体使用时,这就是一个错误的概念。

在 “C/C++”中,定义“指针常量”时,根据“const ”的位置的不同,可以定义出几个不同的形式,虽然其看起来“符合常量的概念”,但是在实际运行中,其值或地址值是会发生变化的,所以本质还不是“常量概念”。

参考资料来源:百度百科-常量 (编程语言)