第六章——字符型数据 第三节——转义字符的定义
转义字符详解
1.1 转义字符的定义与特性
转义字符是以 **反斜杠 \ 开头** 的特殊字符序列,用于表示无法直接输入的字符(如换行符 \n)或具有特殊含义的字符(如单引号 \')
核心规则:
- 转义字符 只代表一个字符(如
'\n'是单个换行符)。 - 八进制转义字符以
\开头,后跟 **1~3位八进制数**(如'\101'对应字符'A') - 十六进制转义字符以
\x(x小写)开头,后跟 1~2位十六进制数(如'\x13'合法,但\X13非法)
二、语法与陷阱:转义字符的合法性
2.1 合法与非法形式对比
| 类型 | 合法示例 | 非法示例 | 错误原因 |
|---|---|---|---|
| 八进制转义 | '\101'('A') |
'\081' |
八进制数中包含非法数字 8 |
| 十六进制转义 | '\x13' |
'\X13'、'0x13' |
必须以小写 x 开头,不能用大写或 0x |
| 单字符限制 | '\n' |
'\\' |
反斜杠需与后续字符组合成合法转义 |
2.2 真题实战:判断合法字符常量
题目:以下哪个是合法的字符常量?
A. '\x13'
B. '\081'
C. '65'
D. "\\n"
答案:A
解析:
A合法:\x后接两位十六进制数1和3,对应 ASCII 码 19(控制字符)B非法:八进制数081包含非法数字8C非法:单引号内只能包含一个字符,'65'是两个字符D非法:双引号包裹的是字符串,非字符常量
三、进阶应用:转义字符的常见用途
3.1 控制字符的表示
- 换行符:
'\n'(ASCII 码 10) - 回车符:
'\r'(ASCII 码 13) - 制表符:
'\t'(ASCII 码 9) - 空字符:
'\0'(字符串结束标志)
3.2 特殊符号的转义
| 场景 | 示例 | 说明 |
|---|---|---|
| 单引号与反斜杠 | '\'、'\\' |
避免语法歧义 |
| 非打印字符 | '\x07'(响铃) |
用于设备控制或调试 |
四、调试与实践技巧
4.1 使用转义字符处理字符串
char str[] = "Hello \\n World"; // 分开转义,需转义为 "\\ \\n"
printf("%s", str); // 输出:Hello \n World(实际显示为两行)
4.2 真题解析:字符串长度计算
题目:
char s[10] = {'A', '\0', 'B', 'C'};
printf("%d %d", sizeof(s), strlen(s));
输出:10 1
解析:
sizeof(s)返回数组总大小(10 字节)。strlen(s)遇到\0终止,仅计算前 1 个字符
五、总结
- 转义字符:用于表示特殊字符(如换行、空格)或非打印字符。
- 字符常量:严格遵循单引号包裹和单字符规则。
- 字符串常量:需用双引号包裹,自动添加
\0结束符
🎯 记忆口诀:
“反斜杠后跟特殊码,八进十六要分清;单引号里一个符,字符串尾藏 \0!”
- 标题: 第六章——字符型数据 第三节——转义字符的定义
- 作者: 亓翎_Re-Tikara
- 创建于 : 2026-02-07 02:21:28
- 更新于 : 2026-02-07 02:26:19
- 链接: https://re-tikara.fun/Blog/posts/5097cfee/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。