一、字符常量
字符常量是用单引号括起来的字符。
单引号括起来的字符有两种表示方法:
一种是用该字符的图形符号,如'b' ,'y','*'。
另外还可以用字符的ASCII码表示,即用反斜符(/)开头,后跟字符的ASCII码,这种方法也称为转义序列表示法,具体方法是:有两种形式:
一种是用字符的八进制ASCII码,表示为:/ddd这里,ddd是八进制值。
另一种使用字符的十六进制ASCII码值,表示为 /xhh 这里hh是两位十六进制值。
如:'A' ,'/101' 和 '/x41'都表示同一个字符常量。
转义序列表示法还可以用来表示一些特殊字符,用来显示特殊符号或控制输出格式。
二、转义字符
转义字符是C语言中表示字符的一种特殊形式。通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号(‘),用于表示字符串常量的双撇号(")和反斜杠(/)等。转义字符用反斜杠/后面跟一个字符或一个八进制或十六进制数表示。表2-4给出了C语言中常用的转义字符。字符常量中使用单引号和反斜杠以及字符常量中使用双引号和反斜杠时,都必须使用转义字符表示,即在这些字符前加上反斜杠。
在C程序中使用转义字符/ddd或者/xhh可以方便灵活地表示任意字符。/ddd为斜杠后面跟三位八进制数,该三位八进制数的值即为对应的八进制ASCII码值。/x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制ASCII码值。使用转义字符时需要注意以下问题:
1)转义字符中只能使用小写字母,每个转义字符只能看作一个字符。
2)/v垂直制表和/f换页符对屏幕没任何影响,但会影响打印机执行响应操作。
3)在C程序中,使用不可打印字符时,通常用转义字符表示。
/ddd 为什么是三位,而/xdd为什么是这种形式:因为ASCII字符是由一个字节表示,一个字节8位,其中第一位为0保留,只有7位二进制表示,所以字符的范围为:
000000002~011111112 1~2^7-1 (0~127) 10
(000~177)8 /ddd
(00~7F) 16 /xdd
1: #include <stdio.h>
2:
3: int main(int argc,char * argv[])
4:
5: {
6:
7: char a = 'a';
8:
9: char b = 97;
10:
11: char c = 0x61;
12:
13: char d = '/141';
14:
15: char e = '/x61';
16:
17: char f[]="/x61/x61/x61/x61";
18:
19: printf("%c,%c,%c,%c,%c,%s/n",a,b,c,d,e,f);
20:
21: return 0;
22:
23: }
24:
out:a,a,a,a,a,aaaa