模拟“字符串加密”:规则为“每个字符 ASCII 码 +3 ,若超过 z($122$)则从 a 重新开始”,以下代码中正确的条件判断是:( )
for (int i = 0; i < str.length(); i++) {
// 需补充条件:
________________
else {
str[i] += 3;
}
}答案D。ASCII码:A=65/0x41,a=97/0x61,0=48/0x30。大小写字母相差32。
记住关键ASCII值:A=65(0x41)、a=97(0x61)、0=48(0x30)。十六进制加法要正确。
GESP三级《字符与ASCII码》模块典型题,命题人专测"条件判断时机"——多数人习惯先改再判断,D项反向验证才是正解。
加密规则"+3后是否超z"→条件必须基于str[i]+3而非原值。若未超,else执行+=3;若超,需将新值映射回a-z区间。公式'a'+(str[i]+3-'z')-1即(str[i]+3)-26的等价表达。