【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'
为什么? 展开
A。c=(c-'A')%26+'a' B .c=c+32 C .c=c+'A'-'a' D.c=('A'+c)%26-'a'
为什么? 展开
3个回答
展开全部
这个题太简单
你自己定义一个c是大写字母,然后计算这些表达式中c=后面的值就能得出来
该题选CD
而且CD两项错得非常明显,C项其实就是c=c-32,是小写字母转大写字母才对,D项就更不用说了,任何一个数%26的值不可能大于25,再减去97不就变成负数了
你自己定义一个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
展开全部
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的值永远是一个负值,因此不对。
解析如下:
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的值永远是一个负值,因此不对。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c和d都不行。
假设c的值为‘A’,c的话,65+65-97 = 23 !=97;
d:= (65+65)%26-‘a' = -97;值为负;
假设c的值为‘A’,c的话,65+65-97 = 23 !=97;
d:= (65+65)%26-‘a' = -97;值为负;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询