第六章——字符型数据 第三节——转义字符的定义

第六章——字符型数据 第三节——转义字符的定义

亓翎_Re-Tikara Lv5

转义字符详解

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 后接两位十六进制数 13,对应 ASCII 码 19(控制字符)
  • B 非法:八进制数 081 包含非法数字 8
  • C 非法:单引号内只能包含一个字符,'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 进行许可。