在ASCII编码中,前32个是不可见字符(非图形),不可见大意是指键盘上面没有对应的字符,没法构成字符常量怎么办呢?,我来为大家讲解一下关于c语言转义字符怎么写 C语言030转义字符?跟着小编一起来看一看吧!

c语言转义字符怎么写 C语言030转义字符

c语言转义字符怎么写 C语言030转义字符

为什么需要转义字符?

在ASCII编码中,前32个是不可见字符(非图形),不可见大意是指键盘上面没有对应的字符,没法构成字符常量。怎么办呢?

这个就相当于描述一个不可见的东西,人们就想,既然无法表示,我们就用一个可见的字符去代替一个不可见的字符。

于是就出现了,'\n'表示换行符,'\t'表示水平制表符等

有些同学认为,直接用字符编码不是更好吗?

char c=10; //或者 char c=0x0A;

这个确实没问题,但是移植性不太好。比如说有些系统就不是0A表示换行符怎么办?虽然这种情况比较少见,但作者认为主要表明考虑问题的严谨性。

我们用'\n'表示换行符,更像是一种标准,字符编码不一定为0A,但一定有字符\n,相对比较安全。

使用\之后,\本身也难保,因此需要'\\'来表示字符'\'。

八进制和十六进制转义

不是所有的字符都有同等的代替字符常量,因此就出现了八进制和十六进制转义。

八进制转义,形式:\ooo

只需要\后面 数字即可,且数字不超出3位,比如'\101','\116'等

char c='\101';

十六进制转义,形式:\xhh

形式为:\x 十六进制数

char c='\x41';

八进制和十六进制转义字符理论上表明任意字符都可以用转义表示

常见转义字符

\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语言中,使用不可打印字符时,一般用转义字符表示。

,