admin 管理员组

文章数量: 887021

转义序列字符(\0,\n,\r,\t,\v,\a,\f,\b,\\,\‘,\“,\?)详解,转义字符对应的全称,输出结果和对应的ASCII码值详解;

文章目录

  • 前言
  • 转义序列字符(Escape Sequence Character):
  • 一、\0:空字符
  • 二、\n:换行符
  • 三、\r:回车符
  • 四、\t:水平制表符
  • 五、\v:垂直制表符
  • 六、\a:响铃
  • 七、\f:换页符
  • 八、\b:退格符
  • 九、\\:反斜杠
  • 十、\\?:问号
  • 十一、\\':单引号
  • 十二、 \\":双引号
  • 总结


前言

系统是64位Windows,编译器是MinGW64,不同的设备可能会有不一样结果,大家可以自己去试试看;


转义序列字符(Escape Sequence Character):

1、转义字符是C语言中表示字符的一种特殊形式。通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单引号( ');

2、转义字符是一种特殊的字符常量。转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。



一、\0:空字符

\0表示空字符(NULL),是字符串的结尾,ASCII码值(00H/0)是
字符串结束的标志

printf("hello world!\n");

输出结果为:

hello world!

 系统自动在最后一个字符’\n’的后面加上一个’\0’,作为字符串结束的标志。而在执行printf函数时,每输出一个字符检查一次当前字符是否为’\0’,如果是’\0’就会停止输出。


二、\n:换行符

\n表示换行符(New line),将光标移动到下一行开头,ASCII码值(0AH/10)

printf("hello world!\n");

输出结果为:

hello world!

系统在输出"hello world!"之后,遇到‘\n’会自动进行换行;


三、\r:回车符

\r表示回车符(Carriage return),将光标移动到这一行的开头。注意只是移动,没有删除任何东西,如果移动之后再添加新的内容会自动覆盖后面的内容ASCII码值(0DH/13);

printf("hello world!\r");

输出结果为:

hello world!

此时的光标在在开头的位置,如果’\r’后面还有内容,则会被覆盖掉;

printf("hello world!\rworld");

'\r’后面还有"world",因为光标在开头,所以此时的"hello"会被覆盖掉,所以此时的输出为:

world world!

四、\t:水平制表符

\t水平制表符(Tab),空格的集合体,一般情况下,一个tab键相当于8个空格,ASCII码值(09H/9);

printf("hello world! \t hello world!\n");

输出为:

hello world!     hello world!

五、\v:垂直制表符

\v垂直制表符(vertical tab),让‘\v’后面的字符从下一行开始输出,且开始的列数为“\v”前一个字符所在列后面一列,ASCII码值(0B/11)。

printf("hello world! \v hello world!\n");

输出为:

hello world! hello world!

六、\a:响铃

\a响铃(speaker beep),响铃,ASCII码值(07/7);


七、\f:换页符

\f换页符(form feed/clear screen),先清空再进行输出,和\v很相似ASCII码值(0CH/12);

printf("hello world! \f hello world!\n");

输出为:

hello world! hello world!

八、\b:退格符

\b退格符(backspace),删除上一个字符,ASCII码值(08H/8);

printf("hello world!\b k");

输出为:

hello world k

九、\:反斜杠

\反斜杠(backslash),输出反斜杠,ASCII码值(5CH/92);

printf("\\");

输出结果为:

\

十、\?:问号

\?问号(question mask),输出问号,ASCII码值(3F/63);

printf("\?");

输出结果为:


十一、\':单引号

\'单引号(single quote),输出单引号,ASCII码值(27H/39);

printf("\'");

输出结果为:

'

十二、 \":双引号

\"双引号(double quote),输出双引号,ASCII码值(22H/34);

 printf("\"");

输出结果为:

"

总结

本文标签: 转义序列字符( N R T v