C语言中的转义序列



C语言中的转义序列

C语言中的转义序列是由多个字符组成的字面量,包含在单引号中。通常,字符字面量仅包含单引号内的单个字符。但是,转义序列会为反斜杠字符 (\) 后出现的字符赋予特殊的含义。

\ 符号导致编译器跳出字符串,并为其后的字符提供附加的含义。

\n为例。当放在字符串中时,\n 充当换行符,产生按下 Enter 键的效果。以下语句 -

printf(" Hello \n World ");

将产生以下输出 -

Hello
World

换行符是一个不可打印字符。\n 转义序列用于生成其效果。类似地,转义序列\t相当于在键盘上按下 Tab 键。

转义序列是指在字符或字符串字面量中使用时不代表自身,而是转换为另一个字符或一系列字符的字符序列,这些字符可能难以或不可能直接表示。

C语言中的所有转义序列

在 C 语言中,所有转义序列都由两个或多个字符组成,第一个字符是反斜杠\(称为“转义字符”);其余字符根据下表中的解释来解释转义序列。

以下是 C 语言中可用的转义序列列表 -

转义序列 含义
\\ \ 字符
\' ' 字符
\" " 字符
\? ? 字符
\a 响铃或警报
\b 退格
\f 换页
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
\ooo 1到3位的八进制数
\xhh . . . 一个或多个十六进制数字

让我们通过一些示例来了解这些转义序列是如何工作的。

换行转义序列 (\n)

换行符由 C 语言中的转义序列\n表示,用于在输出屏幕上插入回车效果。您可以使用此转义序列在单独的行中打印文本并提高输出的可读性。

示例

请看下面的例子 -

#include <stdio.h>

int main(){

   printf("Hello.\nGood morning.\nMy name is Ravi");
}
输出

运行此代码后,您将获得以下输出 -

Hello.
Good morning.
My name is Ravi

制表符转义序列 (\t)

制表符 (\t) 表示键盘上的 Tab 键。当在字符串中遇到制表符时,它会导致光标移动到下一个水平制表位。水平制表位通常以 8 个字符为间隔设置。

示例

请看下面的例子 -

#include <stdio.h>

int main(){

   printf("Name:\tRavi\tMarks:\t50");
}
输出

运行代码并检查其输出 -

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\"\n");
   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 语言还有一个\r转义序列。换行转义序列 (\n) 将光标移动到下一行的开头,而回车转义序列 (\r) 将光标移动到当前行的开头。

八进制数转义序列 (\ooo)

此转义序列用于 1 到 3 位的八进制数。八进制转义序列是一个反斜杠后跟一个、两个或三个八进制数字 (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\n");

   return 0;
}
输出

运行代码并检查其输出 -

Hello  world

转义序列广泛用于许多其他编程语言,如 Java、PHP、C# 等。

广告