字符常量
字符常量就是把一个字符用单引号
括起来。
注:
- 字符常量只能包含一个字符,如’AB’是不合法的
- 字符常量区分大小写字母
- 单引号“ ’ ”是定界符,而不属于字符常量的一部分
字符串常量
字符串常量时用双引号
括起来的字符序列。
举例:“abc”
实际存储为:
注:
- 系统会在字符串的末尾自动添加一个空字符’\0’作为字符串的结束符,所以每个字符串的存储长度比实际长度多1
- '\0’并不是字符串的一部分,它只作为字符串的结束标志
- 只有由双引号括起来的字符序列中的字符个数称为字符串长度
- 字符串常量与字符常量除了所使用的引号不同之外,最重要的区别是存储形式不同
- 转义字符从形式上看是多个字符,而实际它只代表一个字符
符号常量
为了能够方便阅读代码,在C++程序设计中,常用一个符号名代表一个常量,称为符号常量。即给这个常量一个标识符,在以后的引用中,我们直接使用这个标识符来代表常量。
符号常量必须在使用前先定义,而且一般放在主函数之前定义,定义的格式如下:
# define 符号常量 常量
示例:
#include<iostream>
using namespace std;
# define PRICE 30 /*注意这不是语句,末尾不要加分号*/
int main(){
cout<<"price="<<PRICE<<endl;
return 0;
}
注:
- 符号常量不同于变量。它的值在其作用域内不能改变,也不能被赋值
- 习惯上,符号常量名用大写英文标识符,而变量名用小写英文标识符,以示区别
- 定义符号常量的目的是为了提高程序的可读性,便于程序的调试和修改
- 对程序中用双引号括起来的字符串,即使与符号一样,预处理时也不做替换