【C语言求助】求详细解释~谢谢~

已知大写字母A的ASCII码为65,a的ASCII码为97,下列不能把c中的大写字母转换成小写字母的是:A。c=(c-'A')%26+'a'B.c=c+32C.c=c+'... 已知大写字母A的ASCII码为65,a的ASCII码为97,下列不能把c中的大写字母转换成小写字母的是:
A。c=(c-'A')%26+'a' B .c=c+32 C .c=c+'A'-'a' D.c=('A'+c)%26-'a'
为什么?
展开
 我来答
b_spike
推荐于2016-03-12 · TA获得超过3685个赞
知道大有可为答主
回答量:3724
采纳率:78%
帮助的人:1107万
展开全部
这个题太简单
你自己定义一个c是大写字母,然后计算这些表达式中c=后面的值就能得出来
该题选CD

而且CD两项错得非常明显,C项其实就是c=c-32,是小写字母转大写字母才对,D项就更不用说了,任何一个数%26的值不可能大于25,再减去97不就变成负数了
追问
A, %26是什么意思?
追答
除以26取余数
因为任何一个大写字母可以表示成(65+k-1)的形式,后面的大写'A'内码也是65,所以前面括号中的内容就变成了(130+k-1),如果去掉k-1,那130就是26的倍数,故A项括号中的表达式%26之后,必然得到k-1,然后加上97就是对应的小写字母了(与前面大写字母的表示形式相对应,小写字母可表示成97+k-1,注意这里提到的k是指这个字母的序号)
因为除法规则当中余数必须小于除数(这个应该小学就讲过),所以任何数%26的值一定小于26
AXW2013
2015-07-02 · 超过55用户采纳过TA的回答
知道小有建树答主
回答量:97
采纳率:100%
帮助的人:79.3万
展开全部
CD不可以,AB可以。
解析如下:
A: c-'A',假设C是大写字母Z的话,值就是(Z-A)= 25,也就是说这个值总是小于26(26个字母)。因此%26,做数据的保护。然后转换成小写字母,A 对应a 97.所以 Z对应 z 97+25;

B: 很显然,相信你肯定明白,就是小写字母比大写字母值大32.
C:同B

D:解释同A。但是D的值永远是一个负值,因此不对。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
妫原uv
2015-07-02 · TA获得超过285个赞
知道小有建树答主
回答量:395
采纳率:0%
帮助的人:140万
展开全部
c和d都不行。
假设c的值为‘A’,c的话,65+65-97 = 23 !=97;
d:= (65+65)%26-‘a' = -97;值为负;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式