有两种形式:一是用单引号括起来的一个单字符,如′a′,′?′,′=′;二是″转义字符″,即以″\″开头的字符序列。常用的转义字符见下表。
\ddd1到3位8进制数所代表的字符,如\123,表示8进制数123
\xhh1到2位16进制数所代表的字符,如\x21,表示16进制数23
在转义字符赋给字符变量时,也需要在其二侧加单引号,如:
字符串常量是用一对双引号括起的字符序列,如″abc\n″。
请区别字符变量和字符串常量。′a′是字符常量,″a″是字符串常量。在内存中,字符常量占一个字节,而对字符串常量,则在字符串的后面加一个″字符串结束标志″,以便系统据此判断字符串是否结束。用′\0′(即ASCII代码为0的字符,即″空字符″)作为字符串结束的标志。例如,′a′内存占两个字节,即:a\0。
字符变量用来存放一个字符常量,字符变量用char来定义。如:
给字符变量赋值可以采用如下三种方法:
(3)赋以一个字符的ASCII代码,如字符′a′的ASCII代码为97,则
将输出一个字符″a″。实际上,字符数据在内存中是以整数形式(字符ASCII代码)存放的,例如,字符′a′的ASCII码为97,在内存字节中的存放形式为:
01100001
在输出时,如果指定输出字符的格式符″%c″输出,则输出字符′a′(在输出时先将ASCII码转换为字符)。如果指定按输出整数的格式″%d″输出(如printf(″%d″,c)),则输出一个整数97。
应记住,字符数据与整型数据二者间是通用的,可以互相赋值和运算,如:
将输出一个整数32,因为′A′的ASCII码为65。