新手快速理解C语言之转义字符

一.啥是转义字符?

        1.通俗理解:就是使用一个特定的字符,使得原本的句子,词语意思改变,这就是转义字符 

        2.转义字符的形式:一般是\加上其他字符的组合形式

二.转义字符作用是啥?

        1.某些字符有特殊含义,用\连接使其失去特殊的含义:

          \'        \"        \\

        2. 某些字符没有特殊含义,用\连接使其具有特殊的含义:

           \a        \b        \n        \ddd        \xdd         \t

三.具体实例分析  

1.\'       

如下代码可以让我们轻松输出字符d

printf("%c",'d');

如果我们想输出字符 ' 的时候,我们会尝试输入

printf("%c",''');

但我们会发现出现了报错,原因是系统将三个单引号中的前两个单引号视作一起,会导致最后多出来一个单引号,且没有字符的输入,所以我们加入了\,使得单引号只有一般的字符的含义

printf("%c",'\'');

此时,我们就可以输出单引号了。

2.\"

与单引号类似,当我们想输入双引号时,如果这样输入

printf(""");

系统仍然报错,还是前两个双引号被视为了一个,且中间无字符,在后面加了一个单独的双引号。

因此,我们加入了\,使其只代表了字符的含义

3.\\

当我们在代码中尝试输入一个地址,例如找一个叫test.c的文件,我们复制过来的地址是这样的C:\test.c,我们打印后会发现,结果并不是我们所想要的地址,这是因为此时\与t进行了连接,使其具有了其他的意思,如果我们想要让\失去特殊的含义,只需要在其前面再加上一个\即可

我们试图打印出test.c的位置:

printf("C:\\test.c");

这样就可以了。

4.\a

含义是报警或闪烁,当我们打印的时候,电脑系统会发出叮的声音

5.\b

代表回退一格的意思,例如我们打印这个

printf("abc\bde");

输出的结果是:abde

输出的过程是这样的:a--->ab---->abc

遇到了\b,回退一格,此时类似于鼠标的光标位于b和c的中间

然后d顶替了c的位置,最后再输出了e

6.\n

换行的意思,例如我们有如下代码

printf("abc\nde");

输出的结果是

abc

de

7.\ddd

这里的d并不是d这个字母,而是代表一个数字,这里的ddd代表一个八进制的数字,而打印出来的是所对应的数字的ASCII码,对于八进制数字的计算,下面我们会举例说明:
例如\120        所对应的结果就是1*8²+2*8+0*1=64+16=90

然后会打印出90所对应的ASCII码

8.xdd

x所代表的是使用的是十六进制,后面的dd所代表的是十六进制的数字,计算方法与八进制类似

9.\0

实际是\ddd的特殊应用,0所对应的是NULL,通常用在字符串的结尾用于终止字符串,但是不会打印出任何的结果

10.\t

相当于我们在输入中按下一个tab,例如我们输入代码

printf("ab\tcde\t\fghi")

它输出的结果是ab______cde_____fghi,我们会发现空的格数是不相同的,实际上,\t总共可以往后退8格,但是会计算之前我们写的,这也算是为什么在我们上面的\\中发现我们写的地址出错的原因

最后,感谢大家的观看。

  • 17
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值