【C++学习笔记】05_常量

常量

         有小数点的数是浮点型常量,反之为整型常量。

整型常量

         C++允许使用十进制、八进制、十六进制来书写整型常量:

                  10进制数字:0、1、2、3、4、5、6、7、8、9;

8进制数字:0、1、2、3、4、5、6、7。

16进制数字:0、1、2、3、4、5、6、7、8、9,a、b、c、d、e、f(字母亦可大写)

表示方法:(都表示十进制的100)

十进制:无前缀,int i= 100;

八进制:0作为前缀,int i =0124;

十六进制:0x或0X作为前缀,int i =0x64;

 

浮点常量

         浮点型常量有两种表示方式:常规表示法和科学计数法。

常规表示法由整数部分、小数点和小数部分组成,其中整数部分和小数部分可以省略,如1.2,.2,3等。

科学表示法由整数部分、小数点、小数部分,指数部分(e或E及一个带符号的整型指数),整数部分和小数部分也可省略,如1.2E8代表1.2x108、.3e-7代表0.3x10-7、4e23代表4x1023

 

字符型常量

         用一对单引号括起来的一个或多个字符成为字符型常量,如:

‘A’称为单字符常量

‘AA’称为双字符常量

‘\n’称为转义字符序列

‘5’称为单字符常量

由可以看出,对双字符常量来说,系统将其解释为一个int类型的数据,前面的字符作低位字节,后面的字符作为高位字节,这种方式仅仅适用于可显示字符。

代码示例:

运行结果:

         从运行结果上看,系统会把双字符常量解释成一个int类型的数据,前面的字符作为低位字节,后面的字符作为高位字节。

         字符型常量在C++里可以作为单字节的整型常量来使用,因此,字符型常量有对应的八进制、十进制、十六进制形式,代码如下:

运行结果:

【问题】代码中的65、0101、0x41到底是数字还是字符呢?

                   其实这些都是数,但在对字符型变量赋值的时候,会代表对应的ASCII字符。如果是对字符型进行算术运算的话,实际上是对字符代表的数值进行运算的。

代码:


运行结果:


 

字符串常量

         字符串常量是用一对双引号括起来的零个或多个ASCII字符的序列,并以NULL(ASCII码值为0)结束。

关于字符串常量有以下问题需要注意:

字符串与字符不同,例如:"A"与'A'不等价,前者由两个字节组成(字符'A'与字符'\0'),而后者只有一个字节。

最短的字符串是空字符串(""),它仅由一个结尾符'\0'组成。

在前面的示例中已经使用了字符串常量以输出提示信息,一个长字符串可以占两行或多行,但最后一行之前的各行要以反斜杠结尾。

 

符号常量

         在声明语句中,用const修饰的标识符指向一个“只读”的程序实体,称为符号常量,如“const int PEOPLE=5;”,在程序中便可以用PEOPLE来代表5。符号常量与普通常量的不同之处在于它像变量一样有标识符(名字),有效提高了系统的可修改型和可读性。

代码示例:

运行结果:

代码中使用side代替了输入的常量5,用circle代表周长常量20,用area代表面积常量25。

 

枚举

         枚举(Enum)是一种用户自定义的类型,定义的基本格式为:

enum枚举类型名{枚举常量1[=整型常数],枚举常量2[=整型常数],……} [变量名列表]

花括号中的内容称作枚举表,其中的每一项称为枚举常量,换言之,枚举表是枚举常量的集合。枚举表中每项后的“=整型常数”是给枚举常量赋初值,用方括号代表这步可以省略,如果不给枚举常量赋初值,编译器会为每一个枚举常量赋一个不同的整型值,第一个为0,第二个为1,等等。当枚举表中某个常量赋值后,其后的成员则按依次加1的规则确定其值。在定义枚举类型时,可同时定义一些变量属于这种类型:

Enum day {Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday}currentDay;

代码例子:

运行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值