C#中一些特殊符号

\n ------------------------- 换行

\r ------------------------- 回车

\t ------------------------- 制表符

\b ------------------------- 退格

\f ------------------------- 换页

\0 ------------------------- 空符号

\" ------------------------- 双引号

\'''' -------------------------单引号

\\ -------------------------反斜杠

\t 横向跳到下一制表位置

 \v 竖向跳格

\b 退格

\f    走纸换页

 \a 鸣铃

注:有些 ASCII 字符是不可打印的。

例如退格、另起一行、警报等。

 

C 语言提供了两种方法来表示这种不可打印字符。    第一种方法是使用 ASCII 编码。

例如,ASCII 编码中,7 用于表示警报:       

 char beep = 7;   

第二种方法是使用特殊符号序列,也就是所谓的转义字符(escape sequences)

。参见下表:   

 转义字符         含义         

\a            警报( Alert (ANSI C) )        

\b            退格(Backspace)         

\f            换页(Form feed)         

\n            换行(Newline)         

\r            回车(Carriage return)         

\t            水平制表符(Horizontal tab)         

\v            垂直制表符(Vertical tab)         

\\            反斜杆( Backslash (\) )         

 \'            单引号( Single quote (') )         

 \"            双引号( Double quote (") )         

 \?            问号( Question mark (?) )         

 \0oo        八进制数( Octal value (o 代表一个八进制数字) )         

\xhh        十六进制数( Hexadecimal value (h 代表一个十六进制数字) )给变量赋值的时候,转义字符必须使用单引号引住。

例如:          char nl = '\n';下面我们详细学习每个转移字符的含义。   

 

 \a(警报)是 ANSI C89 添加的,用于产生可听或者可视的警报。\a 产生的效果取决于硬件。一般来说,输出 \a 会产生鸣响。但是在某些系统,输出 \a 不会产生任何效果,或者仅仅显示一个特殊字符。标准明确指出,\a 不应该改变当前活跃位置(active position)。所谓活跃位置,是指显示设备(显示器、打字机、打印机等等)显示下一个字符的位置。以显示器为例,活跃位置就是指光标所处的位置,输出 \a 不会导致光标移动位置。

 

\b、\f、\n、\r、\t,以及 \v 都是输出设备控制符。

退格符(\b)使当前行的活跃位置后退一个位置。

换页符(\f)使活跃位置跳到下一页的开端。注:换页符可用于控制打印机换页,但不会导致 PC 机的显示屏换页。

换行符(\n)使活跃位置跳到下一行的开端。

回车符 ( \r ) 使活跃位置返回当前行的开端。

水平制表符(\t)使活跃位置移动若干个位置(通常是8个)。

垂直制表符(\v)使活跃位置换若干行。注:\v可用于控制打印机换若干行,但是不会导致PC机的显示屏换行。   

 \\、\',以及 \" 使我们可以把 \,' 和 " 用作字符常量。如果要打印以下句子:"\ is called 'backslash'."我们需要使用如下语句:

printf("\"\\ is called \'backslash\'.\"");  或者   printf("\"\\ is called 'backslash'.\"");注意,在字符串字面量中,无论写 \' 还是 ',输出都是一样的。但是,

在给字符变量赋值时,一定要写 \'。

例如:

char ch = ''';   /* 错误! */

char ch = '\'';   /* 正确。 */ 

\0oo 和 \xhh 是ASCII码的两种特殊表示形式。如果想用八进制ASCII码表示字符,可以在八进制数前面加上 \ ,然后用单引号引起来。

例如:           

 beep = '\007';        /* \007 代表 \a */打头的那些0可以省略,也就是说,写成 '\07' 或者 '\7' 都一样。无论有没有打头的0 ,7 都会被当成八进制数处理。   

从 C89 开始,C提供了用十六进制表示字符常量的方法:在反斜杆后面写一个 x ,然后再写 1 到 3 个十六进制数字。

例如:           

nl = '\xa';        /* \xa 代表 \n */    注意:使用ASCII码时,要注意区分数字和数字字符。

例如:

字符4的ASCII码是52 ,'4' 代表字符 4 ,而不是数字4。此外,尽管 '\n' 和 '\xa' ,'\a' 和 '\007' 是等价的,但是我们应该尽可能使用 '\n' 和 '\a' ,而不要用 '\xa' 和 '\007' 。这是因为前者易懂、便于记忆,而且移植性更高。而后者只对使用ASCII码的系统有效。参考资料:C Primer 5th Edition

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值