很多刚入门的小伙伴还不明白转义字符是什么,小编先为大家科普一下:转义字符当普通字符输出时会出现歧义,系统会出现编译错误,所以要在前面加上\\表示将其后面的字符当作普通字符输出。
而且我们一般只要通过puts可以输出字符串,例如:
puts("123abc");
因为"123abc"对应的ASCII码值的八进制分别是61、62、63、141、142、143,所以上面的代码我们也可以写为:
puts("\\61\\62\\63\\141\\142\\143");
就像开头所解释的一样,C语言中所有的ASCII码都可以用反斜杠\\加数字(默认是8进制)来表示,称为转义字符(EscapeCharacter),因为\\后面的字符都不是它原来的ASCII字符的意思了。
而当我们在运用C语言的时候除了八进制,也可以用十六进制来表示,不过当我们用十六进制表示时数字要以x开头。"123abc"对应的ASCII码值的十六进制分别是31、32、33、61、62、63,大家所以也可以写为:
puts("\\x31\\x32\\x33\\x61\\x62\\x63");
注意:在这个情况下我们只能使用八进制或十六进制,不能使用十进制。
下面大家来看一个完整的例子:
运行结果:
Thestringis:123abc
这里需要特别说明的就是在ASCII码中我们只能以转义字符的形式来表示,因为从0~31(十进制)的字符为控制字符,它们都是看不见的字符,不能在显示器上显示,也没法书写。但如果我们直接使用ASCII码值记忆也不方便,这时候我们该怎么办呢?也并不是没有解决的办法,针对常用的控制字符,C语言又定义了简写方式,下面我们来看一下完整的列表吧:
转义字符示例:
运行结果:
在运行的过程中大家留意会听到喇叭发出“嘟”的声音,这是使用\\a的效果。
下面小编再给大家拓展一下:我们如何在字符串中输出"和\\
其实"和\\在字符串中都有特殊含义:"表示字符串的开始和结束,\\表示转义字符的开始。小编要和大家讲解它们的用法的原因是它们都不能直接出现在字符串中,必须要经过转义,也就是在前面加\\,如\\"、\\\\。
下面我们来看一个例子,输出字符串abc\\61"xyz的代码:
接下来我们就可以看到运行的结果:
abc\\61"xyz
在这里大家需要注意如果\\不经过转义,写作puts("abc\\61\\"xyz");,那么会输出abc1"xyz,\\61被当做转义字符处理。
同样的,假如"不经过转义,写作puts("abc\\\\61"xyz");,就会出现错误,编译器会把"abc\\\\61"作为一个字符串,而xyz"不知道是什么,也不应该出现在这里,所以报错。
所以最后小编再强调一下:字符串中出现\\、"时必须要转义。
怎么样,经过了本文的学习,大家对于c语言的转义字符是不是有了更深入的了解呢?希望通过本文之后大家以后在c语言的编程都能注意使用这些转义字符,希望本文能带帮助到大家!
¥150.00
¥100.00
¥98.00
¥25.00¥49.00