C语言转义字符实例详解

时间:2021-05-02

在字符集中,有一类字符具有这样的特性:当从键盘上输入这个字符时,显示器上就可以显示这个字符,即输入什么就显示什么。这类字符称为可显示字符,如a、b、c、$、+和空格符等都是可显示字符。

另一类字符却没有这种特性。它们或者在键盘上找不到对应的一个键(当然可以用特殊方式输入),或者当按键以后不能显示键面上的字符。其实,这类字符是为控制作用而设计的,故称为控制字符。

在C语言中,构成字符常量的控制字符必须用转义字符表示。转义字符是一种以“\”开头的字符。例如退格符用'\b'表示,换行符用'\n'表示。转义字符中的'\'表示它后面的字符已失去它原来的含义,转变成另外的特定含义。反斜杠与其后面的字符一起构成一个特定的字符。

转义字符是C语言中表示字符的一种特殊形式。转义字符以反斜'\'开头,后面跟一个字符或一个八进制或十六进制数表示。转义字符具有特定的含义,不同于字符原有的意义,故称转义字符。

通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号('),用于表示字符串常量的双撇号(")和反斜杠(\)等。

实例讲解:

通过puts可以输出字符串,例如:

? 1 puts("123abc");

"123abc" 对应的ASCII码值的八进制分别是 61、62、63、141、142、143,上面的代码也可以写为:

? 1 puts("\61\62\63\141\142\143");

在C语言中,所有的ASCII码都可以用反斜杠\加数字(默认是8进制)来表示,称为转义字符(Escape Character),因为\后面

的字符都不是它原来的ASCII字符的意思了。

除了八进制,也可以用十六进制来表示。用十六进制表示时数字要以x开头。"123abc" 对应的ASCII码值的十六进制分别是 31、

32、33、61、62、63,所以也可以写为:

? 1 puts("\x31\x32\x33\x61\x62\x63");

注意:只能使用八进制或十六进制,不能使用十进制。

一个完整的例子:

? 1 2 3 4 5 #include <stdio.h> int main(){ puts("The string is: \61\62\63\x61\x62\x63"); return 0; }

运行结果:

The string is: 123abc

在ASCII码中,从 0~31(十进制)的字符为控制字符,它们都是看不见的字符,不能在显示器上显示,也没法书写,只能以转

义字符的形式来表示。不过,直接使用ASCII码值记忆不方便,针对常用的控制字符,C语言又定义了简写方式,完整的列表如下:

转义字符 意义 ASCII 码值(十进制) \a 响铃(BEL) 007 \b 退格(BS) ,将当前位置移到前一列 008 \f 换页(FF),将当前位置移到下页开头 012 \n 换行(LF) ,将当前位置移到下一行开头 010 \r 回车(CR) ,将当前位置移到本行开头 013 \t 水平制表(HT) (跳到下一个TAB位置) 009 \v 垂直制表(VT) 011

转义字符示例:

? 1 2 3 4 5 #include <stdio.h> int main(){ puts("C\tC++\tJava\nC first appeared!\a"); return 0; }

运行结果:

C C++ Java

C first appeared!

同时会听到喇叭发出“嘟”的声音,这是使用\a的效果。

以上就是对C语言的转义字符的资料整理,学习C语言的同学可以看下。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章