C 语言中的转义序列
C 语言中的转义序列
C 语言中的转义序列是由多个字符组成的字面量,这些字符放在单引号内。通常,字符字面量仅由单引号内的一个字符组成。但是,转义序列会为反斜杠字符 (\) 后面的字符赋予特殊含义。
以 为例。当它被放入字符串中时,会充当换行符,产生按下 Enter 键的效果。以下语句 −
printf(" Hello World ");
将产生以下输出 -
Hello World
换行符是不可打印的字符。 转义序列可用于产生其效果。类似地,转义序列 相当于按下键盘上的 Tab 键。
转义序列 是一个字符序列,它在字符或字符串字面量中使用时不代表自身,而是被转换为另一个字符或一个难以或无法直接表示的字符序列。
C 语言中的所有转义序列
在 C 语言中,所有转义序列都由两个或多个字符组成,其中第一个字符是反斜杠 \(称为"转义字符");其余字符的转义序列解释如下表所示。
以下是 C 语言中可用的转义序列列表 -
转义序列 | 含义 |
---|---|
\ | \ 字符 |
\' | ' 字符 |
\" | " 字符 |
\? | ?字符 |
\a | 提醒或铃声 |
\b | 退格键 |
\f | 换页符 |
换行符 | |
回车符 | |
水平制表符 | |
\v | 垂直tab |
\ooo | 一到三位数字的八进制数 |
\xhh . . . | 一位或多位数字的十六进制数 |
让我们通过一系列示例来理解这些转义序列的工作原理。
换行符转义序列 ( )
在 C 语言中,换行符用转义序列 表示,用于在输出屏幕上插入回车符的效果。您可以使用此转义序列将文本分行打印,以提高输出的可读性。
示例
请看以下示例 -
#include <stdio.h> int main(){ printf("Hello. Good morning. My name is Ravi"); }
输出
运行此代码后,您将获得以下输出 -
Hello. Good morning. My name is Ravi
Tab 转义序列 ( )
Tab 字符 ( ) 代表键盘上的 Tab 键。当在字符串中遇到 Tab 字符时,它会导致光标移动到下一个水平制表位。水平制表位通常以 8 个字符为间隔。
示例
请看以下示例 -
#include <stdio.h> int main(){ printf("Name: Ravi Marks: 50"); }
输出
运行代码并检查其输出 −
Name: Ravi Marks: 50
反斜杠转义序列 (\)
要将反斜杠字符本身添加为字符串的一部分,必须在其前面加上另一个反斜杠。第一个反斜杠会从字符串中转义,第二个反斜杠会生效。
示例
请看以下示例 -
#include <stdio.h> int main(){ printf("Directory in Windows: C:\users\user"); }
输出
运行此代码后,您将获得以下输出 -
Directory in Windows: C:\users\user
双引号和单引号转义序列("\"和"\'")
这些字符在 C 语言中具有特殊含义,因为""和"'"符号分别用于表示字符字面值和字符串字面值。因此,要将这些字符视为字符串的一部分,必须在它们前面添加一个反斜杠进行转义。
示例
请看以下示例 -
#include <stdio.h> int main(){ printf("Welcome to \"TutorialsPoint\" "); printf ("\'Welcome\' to TutorialsPoint"); }
输出
运行代码并检查其输出 −
Welcome to "TutorialsPoint" 'Welcome' to TutorialsPoint
退格转义序列 (\b)
转义序列"\b"代表退格字符。它用于删除屏幕上已打印的字符或文本的特定部分。
示例
查看以下示例代码 -
#include <stdio.h> int main(){ printf("Welcome to\b TutorialsPoint"); }
输出
运行代码并检查其输出 −
Welcome t TutorialsPoint
请注意,to 中的 o 已被删除。
C 语言也有一个 转义序列。换行符转义序列 () 将光标移动到下一行的行首,而回车符转义序列 () 将光标移动到当前行的行首。
八进制数转义序列 (\ooo)
此转义序列用于一到三位八进制数。八进制转义序列由反斜杠后跟一位、两位或三位八进制数字 (0-7) 组成。它将目标序列中的字符与这些数字指定的值匹配。
示例
请看以下示例 -
#include <stdio.h> int main(){ printf("%c", '\141'); return 0; }
输出
运行此代码时,将产生以下输出 -
a
十六进制数字转义序列 (\xhh)
十六进制转义序列由一个反斜杠、字母"x"和两个十六进制数字 (0-9a-fA-F) 组成。它将目标序列中的字符与这两个数字指定的值匹配。
示例
请看以下示例 -
#include <stdio.h> int main(){ printf("%c", '\x41'); return 0; }
输出
此处,您将获得以下输出 -
A
警报或铃声数字转义序列 (\a)
转义序列 \a 代表警报或铃声字符。执行时,它会根据所使用的终端或控制台发出声音或视觉警报。
示例
查看以下示例 -
#include <stdio.h> int main(){ printf("Hello \a world "); return 0; }
输出
运行代码并检查其输出 −
Hello world
转义序列在许多其他编程语言中被广泛使用,例如 Java、PHP、C# 等。