正文

C++ 第2章  数据类型与表达式【3】  常量2008-08-14 03:37:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/yzrj/37574.html

分享到:

 

常量的值是不能改变的,一般从其字面形式即可判别是否为常量。常量包括两大类,即数值型常量(即常数)和字符型常量。如120-3为整型常量,4.6-1.23实型常量,包含在两个单撇号之间的字符为字符常量,如′a,x′。这种从字面形式即可识别的常量称为字面常量直接常量
 
(1) 一个整数,如果其值在-32768~+32767范围内,认为它是short int型,它可以赋值给short int型、int型和long int型变量。
(2) 一个整数,如果其值超过了上述范围,而在-2147483648~+2147483647范围内,则认为它是long int型,可以将它赋值给一个intlong int型变量。
(3) 如果某一计算机系统的C++版本(例如Visual C++)确定intlong int型数据在内存中占据的长度相同,则它们能够表示的数值的范围相同。因此,一个int型的常量也同时是一个long int型常量,可以赋给int型或long int型变量。
(4) 常量无unsigned型。但一个非负值的整数可以赋值unsigned整型变量,只要它的范围不超过变量的取值范围即可。
 
2.2.2 数值常量
 
数值常量就是通常所说的常数。在C++中,数值常量是区分类型的,从字面形式即可识别其类型。
1. 整型常量(整数)的类型
在上一节中已知道: 整型数据可分为int,short int,long int以及unsigned int,unsigned short,unsigned long等类别。整型常量也分为以上类别。为什么将数值常量区分为不同的类别呢?因为在进行赋值或函数的参数虚实结合时要求数据类型匹配。
那么,一个整型常量怎样从字面上区分为以上的类别呢?
 
一个整型常量可以用3种不同的方式表示:
(1) 十进制整数。如1357,-4320等。在一个整型常量后面加一个字母lL,则认为是long int型常量。例如123L421L,0L等,这往往用于函数调用中。如果函数的形参为long int,则要求实参也为long int型,此时用123作实参不行,而要用123L作实参。
(2) 八进制整数。在常数的开头加一个数字0,就表示这是以八进制数形式表示的常数。如020表示这是八进制数20,即(208,它相当于十进制数16
(3) 十六进制整数。在常数的开头加一个数字0和一个英文字母X(x),就表示这是以十六进制数形式表示的常数。如0X20表示这是十六进制数20,即(20)16,它相当于十进制数32
 
2. 浮点数的表示方法
一个浮点数可以用两种不同的方式表示:
(1) 十进制小数形式。如21.456,-7.98等。它一般由整数部分和小数部分组成,可以省略其中之一(78..06.0),但不能二者皆省略。C++编译系统把用这种形式表示的浮点数一律按双精度常量处理,在内存中占8个字节。如果在实数的数字之后加字母Ff,表示此数为单精度浮点数,如1234F,-43f,占4个字节。如果加字母Ll,表示此数为长双精度数(long double),在GCC中占12个字节,在Visual C++ 6.0中占8个字节。

阅读(1893) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册