首页 理论教育 【C++语言】常量-合法的八进制整型、ASCII值说明

【C++语言】常量-合法的八进制整型、ASCII值说明

时间:2023-08-13 理论教育 版权反馈
【摘要】:例如:021、-017都是合法的八进制整型常量。表2-3C++常用的转义字符续表说明:①反斜杠“\”可以和八进制数或十六进制数一起使用,用来表示该字符常量的ASCII值。

【C++语言】常量-合法的八进制整型、ASCII值说明

1.整型常量

整型常量即整型常数,只有整数部分而没有小数部分,可以用十进制八进制十六进制3种形式来表示。

(1)十进制整型常量与日常的整数表示形式相同,由0~9的数字组成,没有前缀,不能以0开始。例如:806、-16都是合法的十进制整型常量。

(2)八进制整型常量以数字0为前缀,后跟0~7间的数字。例如:021、-017都是合法的八进制整型常量。

(3)十六进制整型常量以0X或0x为前缀,后跟0~9的数字和A~F(大小写都行)的字母。例如:0X71、0x9F都是合法的十六进制整型常量。

整型常量中的长整型用L或l作为后缀表示。例如:79L、026l等。

整型常量中的无符号型用U或u作为后缀表示。例如:81U、0x823u等。

2.浮点型常量

浮点型常量又称为实型常量,是由整数部分和小数部分组成的,只能用十进制表示。浮点型常量有两种表示方法:小数表示法和科学记数法。

(1)小数表示法:由数字、符号和小数点组成。如10.14、10.、.14等。

(2)科学记数法:用指数形式表示浮点常量,即在小数表示法后面加上E或e表示指数部分。如1.28E2、-6.1e-2等。

注意:E或e前后都必须有数字,而且后面的指数必须为整数。1.5E、e6是非法的。

3.字符常量

C++语言中有两种字符常量:一般字符常量和转义字符常量。

(1)一般字符常量:通常是用一对单引号括起来的一个字符,其值为ASCII码值,数据类型为char。例如,'f'、'Y'等都是合法的字符常量,其中单引号只是说明被它括起来的字符是字符常量,它本身并不是字符常量的内容。

在内存中,字符常量是以ASCII码存储的,以整数表示,占据一个字节的长度

说明:

①字符常量区分大小写,如'E'和'e'是两个不同的字符常量。

②一个常量只能包含一个字符,如'XY'就错误的。

③字符常量具有数值属性,因为在ASCII码表中,每个字符的ASCII码都是一个整数。

(2)转义字符:在编写程序时,经常会用到一些不可显示的字符,以及不能用键盘输入的字符,如回车字符。这时就要用转义字符来表示它们。

转义字符是用转义符号“\”后跟一个字符或一个ASCII码,来表示一个具有特殊意义的字符。例如:'\n'表示回车换行,并不表示字母n。常用的转义字符如表2-3所列。

表2-3 C++常用的转义字符

续表

说明:

①反斜杠“\”可以和八进制数或十六进制数一起使用,用来表示该字符常量的ASCII值。例如,\a和\x07含义一样,代表的都是响铃。

②转义字符用八进制数表示时,表示的范围是\000~\777。如\101表示字符'A'。

转义字符用十六进制数表示时,表示的范围是\x00~\xff。如\x61表示字符'a'。

注意:在输出时要用""括起来,cout<<"\101"<<"\x61";将输出'A'和'a'。

③对于\、'、"这3个字符,因为在C++中赋予了它们特定的含义,\表示转义字符,'表示字符常量,"表示字符串常量。所以要把它们作为字符常量使用或输出时,必须采用转义字符来实现。例如,要输出Please enter"good",就要采用以下的输出语句:(www.xing528.com)

cout<<"Pl ease enter\"good\""

4.字符串常量

字符串常量又称为字符串,是用一对双引号括起来的字符序列。例如:"C++"、"This is a program."等都是字符串常量,字符串在内存中是连续存储的,并在最后加上字符“\0”作为字符串结束的标志。

例如:字符串"NOIP"在内存中连续占5个单元,如图2-8所示。

图2-8 字符串在内存中的存储方式

说明:

在C++语言中,字符常量和字符串常量不仅表示方法不同,而且存储方式也不同。字符常量在内存中只占一个存储单元,而字符串常量则要占多个连续的存储单元,并用字符“\0”作为结束标志。所以'a'和"a"的含义是不同的,'a'是字符常量,占一个存储单元;"a"是字符串常量,占两个存储单元。这一点一定要注意!另外,字符和字符串之间也不能相互赋值

5.逻辑常量

逻辑常量又称为布尔常量,取值仅有两个:0和1,其数据类型为bool。在C++程序编写中,逻辑常量经常用到,逻辑值0代表false或假,逻辑值1代表true或真。

由于逻辑常量的取值为整数,所以它也具有整数性质,也能像其他整数一样,在表达式中参与各种整数运算。

乔治·布尔(George Boole):19世纪最伟大的数学家之一,《思维规律的研究》是他最著名的著作。C++语言数据类型中的布尔型的关键字bool,用的就是他的名字。

6.符号常量

在数学计算中,经常要用到圆周率,而π在C++中属于非法字符,无法使用。为了解决这类问题,在C++中引入了符号常量的概念,即用一个标识符来表示一个常数,这个标识符就叫作符号常量。例如,定义pi=3.14159265359,则以后凡是用到圆周率的地方,直接使用pi来代替就可以了,既方便又不易出错。

符号常量要先定义后使用,而且要赋初值,否则会出现编译错误。C++语言提供了以下两种定义符号常量的方法。

1)用const语句定义符号常量

这种方法是C++中最常用的定义方法,格式如下:

例如:

2)用#define语句定义符号常量

这是C语言中定义符号常量的方法,#define是预处理命令,这种方法不用指明符号常量的类型,格式如下:

例如:

说明:

(1)符号常量在声明时进行定义,在程序中不能修改其值。

(2)不允许重复定义或一次定义多个符号常量。

例如:

以上定义是错误的。

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

我要反馈