### **C++ 转义字符与字符类型 课后习题** 姓名: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ #### **一、 填空题** 1. C++中,用于存放单个字符(如 'A', '?')的数据类型是 \_\_\_\_\_\_\_\_\_\_。 2. 在为 `char` 类型变量赋值时,该字符必须被一对 \_\_\_\_\_\_\_\_\_\_(填“单引号”或“双引号”)包围。 3. 代码 `cout << "Score:\n100";` 的输出结果是:第一行显示 `Score:`,第二行显示 \_\_\_\_\_\_\_\_\_\_。 4. 如果想在屏幕上显示出路径 `D:\Data`,那么在代码的字符串中应该写作 `D:________Data`。 5. 如果想在屏幕上显示出带引号的文字 `He said: "Hi"`,那么代码中表示 `"Hi"` 的部分应该写作 \_\_\_\_\_\_\_\_\_\_。 6. 对于代码 `int h; char c; cin >> h >> c;`,如果用户输入 `12:59` 并回车,那么整型变量 `h` 的值是 `12`,而字符型变量 `c` 的值是 \_\_\_\_\_\_\_\_\_\_。 #### **二、 单项选择题** (   ) 1. 下面哪个是定义 `char` 变量并正确赋值的语句? A. `char c = "A";` B. `char c = A;` C. `char c = 'A';` D. `char c = 'AB';` (   ) 2. 执行 `cout << "Name:\nTom";` 后,屏幕上会显示什么? A. `Name:\nTom` B. `Name: Tom` C. 两行,第一行 `Name:`,第二行 `Tom` D. `Name:Tom` (   ) 3. 哪句代码可以在屏幕上正确输出路径 `C:\` ? A. `cout << "C:\";` B. `cout << "C:\\";` C. `cout << "C:/";` D. `cout << 'C:\';` (   ) 4. 阅读以下代码,如果用户输入 `5+3` 并回车,变量 `op` 的值是多少? ```cpp int a, b; char op; cin >> a >> op >> b; ``` ​ A. `'+'` ​ B. `+` ​ C. `" "` (空格) ​ D. 程序会报错 (   ) 5. 执行 `cout << "He said \"Go!\"";` 后,屏幕上会显示什么? A. `He said Go!` B. `He said "Go!"` C. `He said \"Go!\"` D. `He said: "Go!"` (   ) 6. 以下哪个**不能**被正确地赋值给一个 `char` 类型的变量? A. `'?'` B. `' '` C. `'7'` D. `'Go'` (   ) 7. 有代码 `int h, m; char c; cin >> h >> c >> m;`,为了让程序成功读入小时 `11` 和分钟 `59`,不正确的输入格式是? A. `11 59` B. `11:59` C. `11,59` D. `11;59` (   ) 8. 执行 `cout << "\\n";` 后,屏幕上会显示什么? A. 一个空行 B. `n` C. `\n` D. `\` #### **三、 判断题 (对的打“√”,错的打“×”)** (   ) 1. 在C++中,定义一个字符变量时,字符必须用双引号 `"` 包起来。 (   ) 2. `\n` 和 `endl` 都能在 `cout` 中实现换行的视觉效果。 (   ) 3. 对于 `char c; cin >> c;`,如果用户输入 `A B` 并回车,变量 `c` 的值会是 `'A'`。 (   ) 4. 转义字符 `\` 本身通常不会被显示,它的作用是改变其后字符的含义。 (   ) 5. 一个 `char` 类型的变量可以存放一个单词,比如 `'Hello'`。 (   ) 6. 对于 `int a; char c; cin >> a >> c;`,如果用户输入 `99A`,那么 `a` 的值是 `99`,`c` 的值是 `'A'`。 (   ) 7. 想输出双引号 `"`,代码必须写成 `cout << "\"";`。 (   ) 8. `cin` 可以一次性读取不同类型的变量,例如 `int` 和 `char`。