| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 2287 人关注过本帖
标题:转义字符的完整诠释
收藏  订阅  推荐  打印 
寻乐的狼
Rank: 2
等级:注册会员
帖子:103
积分:1234
注册:2007-2-16
转义字符的完整诠释

转义字符是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
\0 空字符(NULL) 000
\ddd 任意字符 三位八进制
\xhh 任意字符 二位十六进制


字符常量中使用单引号和反斜杠以及字符常量中使用双引号和反斜杠时,都必须使用转义字符表示,即在这些字符前加上反斜杠。
在C程序中使用转义字符\ d d d或者\ x h h可以方便灵活地表示任意字符。\ d d d为斜杠后面跟三位八进制数,该三位八进制数的值即为对应的八进制A S C I I码值。\ x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制A S C I I码值。

使用转义字符时需要注意以下问题:
1) 转义字符中只能使用小写字母,每个转义字符只能看作一个字符。
2) \v 垂直制表和\f 换页符对屏幕没有任何影响,但会影响打印机执行响应操作。
3) 在C程序中,使用不可打印字符时,通常用转义字符表示


注:
1,\v垂直制表和\f换页符对屏幕没有任何影响,但会影响打印机执行响应操作。
2,\n其实应该叫回车换行。换行只是换一行,不改变光标的横坐标;回车只是回到行首,不改变光标的纵坐标。
3,\t 光标向前移动四格或八格,可以在编译器里设置
4,\' 在字符里(即单引号里)使用。在字符串里(即双引号里)不需要,只要用 ' 即可。
5,\? 其实不必要。只要用 ? 就可以了(在windows VC6 和tc2 中验证)

转义字符是一种特殊的字符常量。转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在前面各例题printf函数的格式串中用到的“\n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。
常用的转义字符及其含义
转义字符  转义字符的意义

广义地讲,C语言字符集中的任何一个字符均可用转义字符来表示。表2.2中的\ddd和\xhh正是为此而提出的。ddd和hh分别为八进制和十六进制的ASCII代码。如\101表示字?quot;A" ,\102表示字母"B",\134表示反斜线,\XOA表示换行等。转义字符的使用
void main()
{
int a,b,c;
a=5; b=6; c=7;
printf("%d\n\t%d %d\n %d %d\t\b%d\n",a,b,c,a,b,c);
}
此程序练习转义字符的使用
a、b、c为整数 5->a,6->b,7->c
调用printf显示程序运行结果
printf("%d\n\t%d %d\n %d %d\t\b%d\n",a,b,c,a,b,c);
程序在第一列输出a值5之后就是“\n”,故回车换行;接着又是“\t”,于是跳到下一制表位置(设制表位置间隔为8),再输出b值6;空二格再输出c 值7后又是"\n",因此再回车换行;再空二格之后又输出a值5;再空三格又输出b的值6;再次后"\t"跳到下一制表位置(与上一行的6 对齐),但下一转义字符“\b”又使退回一格,故紧挨着6再输出c值7。
搜索更多相关主题的帖子: 字符  转义  八进制  常量  诠释  
2008-1-5 02:34
spring4676
Rank: 2
来自:内蒙古大草原
等级:注册会员
帖子:69
积分:908
注册:2007-12-10

顶一个
谢谢楼住
2008-1-5 08:59
xianshizhe111
Rank: 6Rank: 6
等级:金牌会员
帖子:1451
积分:15818
注册:2007-12-8

有知识面,就有精华.
顶鼎顶
2008-1-5 11:49
寻乐的狼
Rank: 2
等级:注册会员
帖子:103
积分:1234
注册:2007-2-16

谢谢捧场,还有人没

用C打破禁锢的世界
2008-1-6 00:34
devfhpgah
Rank: 3Rank: 3
来自:江西
等级:中级会员
帖子:203
积分:2190
注册:2007-8-16

哈哈,加我一个

努力才会成功!
2008-1-6 10:26
岳C

等级:禁止发言
帖子:354
积分:3722
注册:2007-7-16
提示: 作者被禁止或删除 内容自动屏蔽

坚持到底
2008-1-6 12:33
MikeFT
Rank: 4
来自:青岛
等级:高级会员
帖子:644
积分:6720
注册:2006-11-1

感谢楼主分享!!!

Live And Learn !!!
2008-1-6 12:47
封闭
Rank: 3Rank: 3
等级:中级会员
帖子:238
积分:2576
注册:2007-9-14

学习了!~~
顶。!~~
2008-1-6 15:28
封闭
Rank: 3Rank: 3
等级:中级会员
帖子:238
积分:2576
注册:2007-9-14

\t不是跳制表域么?
2008-1-6 15:29
寻乐的狼
Rank: 2
等级:注册会员
帖子:103
积分:1234
注册:2007-2-16

恩,更具的就是上面的解释了

用C打破禁锢的世界
2008-1-6 23:49
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.050292 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved