Question 8

字符运算

在 C/C++ 中,(char)('a' + 13) 与下面的哪一个值相等?

单项选择2难度 基础

正确答案

B. 'n'

一句话考点

字符字面量参与运算时会先转成整数编码,再转回字符。

字符与 ASCII字符运算

Prompt

题目与选项

在 C/C++ 中,(char)('a' + 13) 与下面的哪一个值相等?

A. 'm'

B. 'n'

C. 'z'

D. '3'

Quick Check

做题抓手

先判断题型

先定位知识点,再决定是公式套用、手推样例还是结构重建。

再核对边界

第一轮很爱在闭区间、下标偏移、递归终止条件和布尔返回值上设陷阱。

最后看输出层次

尤其是阅读程序题,要分清函数返回值、变量值和最终打印值是不是同一件事。

Explanation

详细讲解

  1. Step 1

    `'a'` 的 ASCII 编码是 97,`97 + 13 = 110`。

  2. Step 2

    ASCII 编码 110 对应的字符是 `'n'`,所以 `(char)('a' + 13)` 的结果是 `'n'`。

  3. Step 3

    这题本质上考的是字符和整数之间的隐式转换。

Pitfalls

易错点

  • 直接把字母表位置从 1 开始数,导致偏移结果错一位。
  • 忽略了字符在表达式里会先转成整数编码参与运算。

Extend

拓展补充

  • 类似题可以记住:小写字母是连续编码,所以 `'a' + k` 会得到向后偏移 k 位的字母。

返回总览

回到整套试卷

返回题目总览页,继续从目录、知识图谱或其他分区进入。

所属分区

返回 单项选择

回到首页对应分区,继续顺序刷题或查看同类知识点。

上一题

第 7 题

循环语句识别

下一题

第 9 题

二分查找比较次数