### C++ 字符与 ASCII 码 课后习题 姓名: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ #### **一、 填空题** 1. 在 C++ 中,我们使用关键字 \_\_\_\_\_\_\_\_ 来定义一个存放单个字符的变量。 2. 定义一个字符变量时,字符本身必须用 \_\_\_\_\_\_\_\_ (填“单引号”或“双引号”) 括起来。 3. 字符 `'A'` 对应的 ASCII 码值是 `65`,那么字符 `'B'` 对应的 ASCII 码值是 \_\_\_\_\_\_\_\_。 4. 小写字母 `'a'` 的 ASCII 码值比大写字母 `'A'` 的 ASCII 码值大 \_\_\_\_\_\_\_\_。 5. 阅读代码 `char c = '5'; int n = c - '0';`,执行后,整型变量 `n` 中存放的值是 \_\_\_\_\_\_\_\_。 6. 在 `cin >> num1 >> op >> num2;` 中,如果用户输入 `10 + 20`,那么字符变量 `op` 中存入的值是 \_\_\_\_\_\_\_\_。 #### **二、 单项选择题** ( ) 1. 下列哪个是**正确**的字符变量定义语句? A. `char c = "A";` B. `char c = A;` C. `char c = 'A';` D. `int c = 'A';` ( ) 2. 执行 `int ch = 'a'; cout << ch;` 后,屏幕上会显示什么? A. `a` B. `A` C. `97` D. `65` ( ) 3. 阅读以下代码: ```cpp char letter = 'C'; letter = letter + 1; cout << letter; ``` ​ 程序的输出结果是? ​ A. `C` ​ B. `D` ​ C. `67` ​ D. `68` ( ) 4. 如果想把大写字母 `'E'` 转换为对应的小写字母,正确的代码是? A. `'E' - 32` B. `'E' + 32` C. `'E' - 'A'` D. `'E' + 'a'` ( ) 5. 在计算机内部,`char` 类型的变量实际上存放的是什么? A. 字符的形状 B. 字符对应的 ASCII 码(一个整数) C. 一段文字 D. 一个小数 ( ) 6. `int a; char op; cin >> a >> op;` 如果用户输入 `9*`,那么变量 `a` 和 `op` 的值分别是? A. `a` 是 `9`,`op` 是 `'*'` B. `a` 是 `'9'`,`op` 是 `'*'` C. `a` 是 `9`,`op` 的值不确定 D. 读取会失败 #### **三、 判断题 (对的打“√”,错的打“×”)** ( ) 1. 在 C++ 中,字符 `'8'` 和整数 `8` 是完全一样的。 ( ) 2. 计算机能识别和处理文字,是因为有一张像 ASCII 码这样的“字符-数字”对照表。 ( ) 3. 数字字符是连续排列的,例如 `'1'` 的 ASCII 码比 `'0'` 的大 1。 ( ) 4. 大写字母 `'Z'` 的 ASCII 码比 `'A'` 的小。 ( ) 5. 因为字符本质上是数字,所以我们可以对 `char` 类型的变量进行加减运算。 ( ) 6. `char c = 'ab';` 这样的写法是正确的。