C语言基础——转义字符

转义字符

转义有两层含义,一层是把普通字符转化为特殊字符,例如’\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)
第25行没有报错,第26行报错
同理十六进制转义字符的最大值为\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’。

  • 11
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值