C++学习之字符常量、字符串常量和符号常量的区别

字符常量

字符常量就是把一个字符用单引号括起来。
注:

  • 字符常量只能包含一个字符,如’AB’是不合法的
  • 字符常量区分大小写字母
  • 单引号“ ’ ”是定界符,而不属于字符常量的一部分

字符串常量

字符串常量时用双引号括起来的字符序列。
举例:“abc”
实际存储为:
在这里插入图片描述

注:

  • 系统会在字符串的末尾自动添加一个空字符’\0’作为字符串的结束符,所以每个字符串的存储长度比实际长度多1
  • '\0’并不是字符串的一部分,它只作为字符串的结束标志
  • 只有由双引号括起来的字符序列中的字符个数称为字符串长度
  • 字符串常量与字符常量除了所使用的引号不同之外,最重要的区别是存储形式不同
  • 转义字符从形式上看是多个字符,而实际它只代表一个字符

符号常量

为了能够方便阅读代码,在C++程序设计中,常用一个符号名代表一个常量,称为符号常量。即给这个常量一个标识符,在以后的引用中,我们直接使用这个标识符来代表常量。
符号常量必须在使用前先定义,而且一般放在主函数之前定义,定义的格式如下:

# define 符号常量 常量

示例:

#include
using namespace std;
# define PRICE 30  /*注意这不是语句,末尾不要加分号*/
int main(){
	cout<<"price="<<PRICE<<endl;
	return 0;
}

注:

  • 符号常量不同于变量。它的值在其作用域内不能改变,也不能被赋值
  • 习惯上,符号常量名用大写英文标识符,而变量名用小写英文标识符,以示区别
  • 定义符号常量的目的是为了提高程序的可读性,便于程序的调试和修改
  • 对程序中用双引号括起来的字符串,即使与符号一样,预处理时也不做替换

你可能感兴趣的:(C++,c++,学习,开发语言)