【C++学习笔记】05_常量
来源:互联网 发布:淘宝客户资料 编辑:程序博客网 时间:2024/06/06 07:22
常量
有小数点的数是浮点型常量,反之为整型常量。
【整型常量】
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;
代码例子:
运行结果:
- 【C++学习笔记】05_常量
- Objective-C 学习笔记 05 - Collection类和常量
- c++_常量存储
- C++_枚举常量
- c 学习笔记之一 字符串常量
- C语言学习笔记 lesson7 常量
- c++_学习笔记0822
- Linux C 学习笔记02-常量和变量
- 【c和指针学习笔记】深入理解字符串常量
- C学习笔记(五)变量与常量
- C语言学习笔记:09_函数
- C语言学习笔记:11_全局变量
- C语言学习笔记_数组
- c语言命名规范_学习笔记
- C语言学习笔记:10_函数_高级
- 【C Prime Plus】学习笔记,Chapter 12, 指针常量和常量指针
- C语言程序设计教程笔记_基本数据类型、常量、变量和表达式
- 《C和指针》学习记录——第3章数据_常量
- 黑马程序员-IO的概述和File方法
- 什么啊
- PHPCMS后台验证码问题
- uva 11488 - Hyper Prefix Sets(字典树)
- FZU Problem 2062 Suneast & Yayamao
- 【C++学习笔记】05_常量
- Oracle char varchar2 nchar nvarchar2 不同
- Codeforces Round #251 (Div. 2)-C,D
- hdu1025 Constructing Roads In JGShining's Kingdom(二分+dp)
- Eigen: C++开源矩阵计算工具——Eigen的简单用法
- 黑马程序员_面向对象Part2 继承多态和接口
- struts2 单元测试
- CI扩展CI_Exceptions
- jdbc:initialize-database标签的研究