您的位置:首页 > 职场人生

转义字符的应用

2011-05-21 16:58 344 查看
ASCII字符集

计算机用数字码来存储字符。ASCII码(美国标准信息交换码)是最常用的编码。

ASCII码表:http://imgsrc.baidu.com/baike/pic/item/f6428f8f7c5d36e9503d9262.jpg

转义字符

转义序列必须用但括号括起来

在ASCII码中有些字符是打印不出来的,如一些动作字符,这些字符叫做“非打印字符”,C语言为非打印字符提供了另外一种表示方式。

非打印字符只是ASCII的一个子集

转义字符 对应ASCII码十进制

  \a 响铃(BEL) 007

  \b 退格(BS) 008

  \f 换页(FF) 012

  \n 换行(LF) 010

  \r 回车(CR) 013

  \t 水平制表(HT) 009

  \v 垂直制表(VT) 011

  \\ 反斜杠 092

  \? 问号字符 063

  \' 单引号字符 039

  \" 双引号字符 034

所有的ASCII码都可以通过转义方式表示出来

char test='A'; (编译器将其转换为相应十进制编码值,即65)

char test='\101';(对应的是A的八进制表示方式,需要注意的是:\ 后最多只能是三位,若写成'\0101 则出错,但是若编码为\007,则可以写成\07或者是\7')

char test='\0x41';(对应的是A的十六进制表示方式)

不使用转义方式表示

char test=65;

char test=0101; (注:其中前面的0表示为八进制表示,若没有0,表示的是e)

char test=0x41;

对于转义字符,除了上面的两种表示方式以外,还有第三种表示方式,假设蜂鸣字符

ASCII码值:char beep=7(或者用八进制或者十六进制表示);

C中提供的特殊的符号序列:char beep='\a'(或者转义的八进制和十六进制表示)

转义的方式表示:char beep=‘\007'

转义字符的另外用法:引用特殊的字符常量,如引用\ 、'、 ",写成\\、\'、和\"

需要注意的几个方面:

无论是普通字符还是转义序列,如果作为双引号中字符集合的一部分,则无需引号 如:printf("Hello!7\n"),打印Hello!7

什么时候使用ASCII码,什么时候使用转义序列呢?如果要在某个 转义序列和其对应的ASCII码之间做出选择,则应当使用转义序列。比如选择'\f'而不是'\014'。首先,转义字符更容易记忆;其次,这样做使程序 的可移植性更好。因为在不使用ASCII码的系统中,'\f'仍然适用

当需要数值编码时,为什么使用'\032'而不是032?首先,'\032'更能清晰地表达程序员表示一个字符编码的意图;其次,'\032'这样的转义序列可以嵌入到C字符串中,而032不可以,例如:"Hello!\007\n"中就嵌入了'\007'

使用ASCII时要注意数字数字字符的区别。例如字符4的ASCII码值为52.写法'4'表示符号4而不是数值4
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 休闲 转义字符