GESP 三级 · GESP 202603 C++ 三级 第 15 题

选择题 · 答案 D

← 整套速查表 GESP 三级 全部真题

题目

模拟“字符串加密”:规则为“每个字符 ASCII 码 +3 ,若超过 z($122$)则从 a 重新开始”,以下代码中正确的条件判断是:( )

for (int i = 0; i < str.length(); i++) {
    // 需补充条件:
    ________________
    else {
        str[i] += 3;
    }
}
答案:D

解题思维

答案D。ASCII码:A=65/0x41,a=97/0x61,0=48/0x30。大小写字母相差32。

常见错误

记住关键ASCII值:A=65(0x41)、a=97(0x61)、0=48(0x30)。十六进制加法要正确。

详细解析(节选)

1. 🎯 考纲定位(考点定位)

GESP三级《字符与ASCII码》模块典型题,命题人专测"条件判断时机"——多数人习惯先改再判断,D项反向验证才是正解。

2. 🧠 解题思维(拆解与通法)

加密规则"+3后是否超z"→条件必须基于str[i]+3而非原值。若未超,else执行+=3;若超,需将新值映射回a-z区间。公式'a'+(str[i]+3-'z')-1即(str[i]+3)-26的等价表达。

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断