ASCII字符集与转义字符

http://blog.csdn.net/lichaoandy/article/details/5524395

ASCII字符集

 

转义字符

 

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

 

在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'
  • 转义字符的另外用法:引用特殊的字符常量,如引用/ 、'、 ",写成//、/'、和/"

 

需要注意的几个方面:

 

  1. 无论是普通字符还是转义序列,如果作为双引号中字符集合的一部分,则无需引号 如:printf("Hello!7/n"),打印Hello!7
  2. 什么时候使用ASCII码,什么时候使用转义序列呢?如果要在某个转义序列和其对应的ASCII码之间做出选择,则应当使用转义序列。比如选择'/f'而不是'/014'。首先,转义字符更容易记忆;其次,这样做使程序的可移植性更好。因为在不使用ASCII码的系统中,'/f'仍然适用
  3. 当需要数值编码时,为什么使用'/032'而不是032?首先,'/032'更能清晰地表达程序员表示一个字符编码的意图;其次,'/032'这样的转义序列可以嵌入到C字符串中,而032不可以,例如:"Hello!/007/n"中就嵌入了'/007'
  4. 使用ASCII时要注意数字数字字符的区别。例如字符4的ASCII码值为52.写法'4'表示符号4而不是数值4。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值