C语言基础——转义字符

   日期:2020-10-01     浏览:190    评论:0    
核心提示:所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。转义有两层含义,一层是把普通字符转化为特殊字符,例如’\t’;另一种是将特殊字符转化为普通字符,例如’\’。转义字符可以分为三类,第一类是普通转义字符,第二类是八进制转义字符,第三类是十六进制转义字符。普通转义字符转义字符释义\?书写连续多个问号时,防止被

转义字符

转义有两层含义,一层是把普通字符转化为特殊字符,例如’\t’;另一种是将特殊字符转化为普通字符,例如’\’。

转义字符可以分为三类,第一类是普通转义字符,第二类是八进制转义字符,第三类是十六进制转义字符。

普通转义字符

转义字符 释义
\? 书写连续多个问号时,防止被解析成三字母
\’ 用于表示字符常量’
\" 用于表示字符常量"
\\ 用于表示字符常量\
\a 警告字符,蜂鸣器鸣响
\b 退格符
\f 进纸符
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符

其中\b并不是键盘上的backspace键,而是光标向前回退一个字符
例如下图:

还需注意的是\r 和\n 的区别,/r 是回车,/n 是换行 ;早期的打字机上,要另起一行打字需要两个步骤,首先要发送命令"/r”将打字头复位,即回车,然后再发送命令"/n”让打字机走纸移到下一行,所以这个历史遗留问题导致了如今我们在DOS-Windows的系统里需要区分"/r/n”和“/n”
两者具体区分如下:

八进制和十六进制转义字符

八进制转义字符的格式是\ddd(ddd表示1~3个八进制的数字),例如\123代表的就是十进制的83,查阅ASCII码表可知,它代表的字符是S。
十六进制转义字符的格式是\xdd(dd代表1~2个十六进制的数字),例如\x2a代表的就是十进制的42,查阅ASCII表可知,它代表的字符是*。
需要注意的是,不管八进制还是十六进制的转义字符其本质都是字符型变量,所以只有八个字节,故八进制转义字符最大到\377(二进制的1111 1111)

同理十六进制转义字符的最大值为\xff(二进制1111 1111)。

程序输出什么?

#include <stdio.h>
#include <string.h>

int main(){ 
	printf("%d",strlen("c:\test\328\test.c"));
	return 0;
}

结果为14,其中的转义字符有’\t’,’\32’,’\t’。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服