- C编程教程
- C - 首页
- C语言基础
- C - 概述
- C - 特性
- C - 历史
- C - 环境设置
- C - 程序结构
- C - Hello World
- C - 编译过程
- C - 注释
- C - 词法单元
- C - 关键字
- C - 标识符
- C - 用户输入
- C - 基本语法
- C - 数据类型
- C - 变量
- C - 整数提升
- C - 类型转换
- C - 类型强制转换
- C - 布尔值
- C语言中的常量和字面量
- C - 常量
- C - 字面量
- C - 转义序列
- C - 格式说明符
- C语言中的运算符
- C - 运算符
- C - 算术运算符
- C - 关系运算符
- C - 逻辑运算符
- C - 位运算符
- C - 赋值运算符
- C - 一元运算符
- C - 自增和自减运算符
- C - 三元运算符
- C - sizeof 运算符
- C - 运算符优先级
- C - 其他运算符
- C语言中的决策
- C - 决策
- C - if 语句
- C - if...else 语句
- C - 嵌套 if 语句
- C - switch 语句
- C - 嵌套 switch 语句
- C语言中的循环
- C - 循环
- C - while 循环
- C - for 循环
- C - do...while 循环
- C - 嵌套循环
- C - 无限循环
- C - break 语句
- C - continue 语句
- C - goto 语句
- C语言中的函数
- C - 函数
- C - 主函数
- C - 按值调用函数
- C - 按引用调用函数
- C - 嵌套函数
- C - 可变参数函数
- C - 用户自定义函数
- C - 回调函数
- C - 返回语句
- C - 递归
- C语言中的作用域规则
- C - 作用域规则
- C - 静态变量
- C - 全局变量
- C语言中的数组
- C - 数组
- C - 数组的特性
- C - 多维数组
- C - 将数组传递给函数
- C - 从函数返回数组
- C - 可变长数组
- C语言中的指针
- C - 指针
- C - 指针和数组
- C - 指针的应用
- C - 指针运算
- C - 指针数组
- C - 指针到指针
- C - 将指针传递给函数
- C - 从函数返回指针
- C - 函数指针
- C - 指向数组的指针
- C - 指向结构体的指针
- C - 指针链
- C - 指针与数组
- C - 字符指针和函数
- C - 空指针
- C - 空指针
- C - 野指针
- C - 解引用指针
- C - 近、远和巨型指针
- C - 指针数组的初始化
- C - 指针与多维数组
- C语言中的字符串
- C - 字符串
- C - 字符串数组
- C - 特殊字符
- C语言中的结构体和联合体
- C - 结构体
- C - 结构体和函数
- C - 结构体数组
- C - 自引用结构体
- C - 查找表
- C - 点(.)运算符
- C - 枚举(或枚举)
- C - 结构体填充和打包
- C - 嵌套结构体
- C - 匿名结构体和联合体
- C - 联合体
- C - 位域
- C - Typedef
- C语言中的文件处理
- C - 输入和输出
- C - 文件I/O(文件处理)
- C预处理器
- C - 预处理器
- C - 预处理程序
- C - 预处理器运算符
- C - 宏
- C - 头文件
- C语言中的内存管理
- C - 内存管理
- C - 内存地址
- C - 存储类
- 其他主题
- C - 错误处理
- C - 可变参数
- C - 命令执行
- C - 数学函数
- C - static关键字
- C - 随机数生成
- C - 命令行参数
- C编程资源
- C - 问答
- C - 快速指南
- C - 速查表
- C - 有用资源
- C - 讨论
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# 等。