### **C++ 转义字符与字符类型 课后习题 - 答案** #### **一、 填空题** 1. `char` 2. 单引号 3. `100` 4. `\\` 5. `\"Hi\"` 6. `':'` #### **二、 单项选择题** 1. **C**. `char` 类型的字面量必须用单引号包裹,且只能是单个字符。 2. **C**. `\n` 是换行符,会让 `Tom` 显示在下一行。 3. **B**. 反斜杠 `\` 本身是转义字符,要输出它自身,需要写成 `\\`。 4. **A**. `cin` 会依次读取一个整数存入 `a`,一个字符存入 `op`,一个整数存入 `b`。输入 `5+3` 时,`op` 会接收到字符 `'+'`。 5. **B**. `\"` 是双引号的转义序列,用于在字符串内部表示一个双引号字符。 6. **D**. `char` 变量只能存放单个字符,`'Go'` 包含两个字符,是错误的。 7. **A**. 程序读取一个整数 `h`,然后需要读取一个字符,最后读取一个整数 `m`。 8. **C**. `\\` 是 `\` 的转义序列,所以 `\\` 会让 `\` 失去转义功能,变回它本身。因此 `\\n` 会输出 `\n` 这两个字符。 #### **三、 判断题** 1. × (必须用单引号 `' '`。) 2. √ (两者最终在屏幕上看到的换行效果是一样的。) 3. √ (`cin` 默认通过空白字符(空格、回车等)分隔数据,读到 'A' 后遇到空格,就完成了对 `c` 的读取。) 4. √ (这正是转义字符的定义。) 5. × ( `char` 只能存放单个字符。) 6. √ (`cin` 会先读取数字部分 `99` 存入 `a`,然后接着读取非数字字符 `'A'` 存入 `c`。) 7. √ ( `"` 是特殊字符,在字符串中必须通过 `\"` 来表示。) 8. √ (如 `cin >> a >> op >> b;` 所示,`cin` 可以很灵活地连续读取不同类型的数据。)