Cprogramming 简明教程
Escape Sequence in C
Escape Sequence in C
escape sequence in C 是由单引号中包含多个字符组成的 literal 。通常,字符文本仅由单引号中的单个字符组成。但是,转义序列为反斜杠字符后面出现的字符附加了特殊含义( \ )。
以 \n 为例。当放在字符串中时,\n充当换行符,产生按 Enter 键的效果。以下语句 -
printf(" Hello \n World ");
将生成此输出 -
Hello
World
新行是一个不可打印的字符。 \n 转义序列可用于生成其效果。类似地,转义序列 \t 等同于在键盘上按 Tab 键。
escape sequence 是一系列字符,在字符或字符串文本中使用时不能表示自身,但会被翻译成另一个字符或一系列字符,这些字符可能很难或无法直接表示。
All Escape Sequences in C
在 C 中,所有 escape sequences 都由两个或多个字符组成,其第一个字符是反斜杠 \ (称为“Escape 字符”);其余字符按照下表解释转义序列。
以下是 C 中可用的转义序列列表 -
Escape sequence |
Meaning |
|\ character |
\' |
' character |
\" |
" character |
\? |
? character |
\a |
Alert or bell |
\b |
Backspace |
\f |
Form feed |
\n |
Newline |
\r |
Carriage return |
\t |
Horizontal tab |
\v |
Vertical tab |
\ooo |
一个到三个数字的八进制数 |
\xhh . . . |
让我们借助一组示例了解这些转义序列如何工作。
Newline Escape Sequence (\n)
由 C 中的转义序列 \n 表示的新行字符用于在输出屏幕上插入回车效果。您可以使用此转义序列在单独的行中打印文本并提高输出的可读性。
请看以下示例:
#include <stdio.h>
int main(){
printf("Hello.\nGood morning.\nMy name is Ravi");
}
运行此代码,您将获得以下输出−
Hello.
Good morning.
My name is Ravi
Tab Escape Sequence (\t)
制表符 (\t) 表示键盘上的 Tab 键。当在字符串中遇到制表符时,光标会移至下一个水平制表位。水平制表位通常以八个字符的间隔设置。
请看以下示例:
#include <stdio.h>
int main(){
printf("Name:\tRavi\tMarks:\t50");
}
运行代码并检查其输出:
Name: Ravi Marks: 50
Backslash Escape Sequence (\\)
要将反斜杠字符本身添加为字符串的一部分,它必须以另一个反斜杠开头。第一个反斜杠转义出字符串,第二个反斜杠产生效果。
请看以下示例:
#include <stdio.h>
int main(){
printf("Directory in Windows: C:\\users\\user");
}
运行此代码,您将获得以下输出−
Directory in Windows: C:\users\user
Double and Single Quotes Escape Sequences (\" and \')
这些字符在 C 中具有特殊含义,因为“和”分别用于表示字符文本和字符串文本。因此,要将这些字符视为字符串的一部分,必须使用附加的反斜杠对它们进行转义。
请看以下示例:
#include <stdio.h>
int main(){
printf("Welcome to \"TutorialsPoint\"\n");
printf ("\'Welcome\' to TutorialsPoint");
}
运行代码并检查其输出:
Welcome to "TutorialsPoint"
'Welcome' to TutorialsPoint
Backspace Escape Sequence (\b)
转义序列“\b”表示退格字符。它用于擦除已在屏幕上打印的字符或文本的特定部分。
检查以下示例代码 -
#include <stdio.h>
int main(){
printf("Welcome to\b TutorialsPoint");
}
运行代码并检查其输出:
Welcome t TutorialsPoint
请注意: o 已从 to 中删除。
C 还有 \r 转义序列。换行转义序列 (\n) 将光标移动到下一行的开头,而回车转义序列 (\r) 将光标移动到当前行的开头。
Octal Number Escape Sequence (\ooo)
此转义序列用于一位到三位八进制数。八进制转义序列是反斜杠后面跟一个、两个或三个八进制数字 (0-7)。它使用这些数字指定的值匹配目标序列中的一个字符。
请看以下示例:
#include <stdio.h>
int main(){
printf("%c", '\141');
return 0;
}
当你运行这段代码时,它将产生以下输出:
a