字符常量是指用一对单引号括起来的一个字符。如‘a’,‘9’,‘!’。字符常量中的单引号只起定界作用并不表示字符本身。
字符常量的表示
所谓字符常量,就是用英文单引号括起来的一个
字符。在使用字符常量时应该注意:
1.单引号内的大小写字符代表不同的字符常量,例如‘Y’、‘y’是两个不同的字符常量。
2.字符常量只能用英文单引号括起来,不能用双引号。例如“Y”不是一个字符常量,而是一个
字符串。
4.单引号内只能包含1个字符,‘xyz’写法是错误的。但超过1个的字符的话,除最后一个外前面的会自动失效,当然这在编程使用中应该避免。
5.字符常量的值,就是它在ASCII编码表中的值。是个从0—127之间的整数。因此字符常量可以作为整型数据来进行运算。例如:
表达式‘Y’+32的值为121,也就是‘y’的值。
表达式‘7’+‘6’的值为109,通过查表可以发现,刚好是‘m’的值。应该注意‘7’和7是不一样的,作为字符常量所代表的整型常量值是55,后者是整型常量7。
单引号括起来的字符包括英文字母大、小写字符各26个、数字字符10个,以及空白符(空格符、制表符、换行符),标点和特殊符号(键盘上的共30个),它们也称为
C语言的基本字符集。
字符常量的分类
普通的字符常量
用单撇号括起来的一个字符就是字符常量。如‘a’,‘#’,‘%’,‘D’是合法的字符常量,在内存中占一个字节。注意:
1、字符常量只包括一个字符,如‘AB’是不合法的。
2、字符常量区分大小写字母,如’A’和‘a’是两个不同的字符常量。
3、撇号(’)是定界符,而不属于字符常量的一部分。如:
cout<<’a’;
输出的是一个字母“a”,而不是3个字符“‘a’”。
转义字符常量
除了字符常量外,C++还允许用一种特殊形式的字符常量,就是以“\u201d开头的字符序列。例如,’
’代表一个“换行”符。“cout<<’
’;”将输出一个换行,其作用与“cout<
转义字符虽然包含两个或多个字符,但它只代表一个字符。编译系统在见到字符“\u201d时,会接着找它后面的字符,把它处理成一个字符,在
内存中只占一个
字节。