C语音,求解第22,23题
3个回答
展开全部
22题:
int w='A',x=14,y=15;
w=((x||y)&&(w<'a'));
解:
在ASCII码表中,'A'对应的数值为“65”,'a'对应的数值为97,
所以w='A'(65)<'a'(97)结果为true;
x=14(说明x!=0),y=15(说明y!=0),
所以x||y结果为true;
w=((x||y)&&(w<'a'));等同于w=(true&&true);结果为true,true对应的数值一般用1表示,所以
w的值应该为1;答案应该为C
23题:
int x=2;以下表达式中结果不为6的是:
解:(首先答案应该为B,)
B的表达式为 x++,2*x;
在c语言中,x++表示执行完x++所在的这一语句后x的值才加1,而执行完x++所在的这一语句的标志是以分号结束,x++,2*x;分号在2*x后面,所以,x的值是在2*x执行完后再加1,在这之前x的值不变,所以2*x时,x的值仍为2,B的表达式结果应该为5,5不等于6,所以结果选B
注:以上答案仅为参考,本人也未深入学习过C,只是给个参考,建议确实不确定答案的还是问下有关方面的老师或者专家
int w='A',x=14,y=15;
w=((x||y)&&(w<'a'));
解:
在ASCII码表中,'A'对应的数值为“65”,'a'对应的数值为97,
所以w='A'(65)<'a'(97)结果为true;
x=14(说明x!=0),y=15(说明y!=0),
所以x||y结果为true;
w=((x||y)&&(w<'a'));等同于w=(true&&true);结果为true,true对应的数值一般用1表示,所以
w的值应该为1;答案应该为C
23题:
int x=2;以下表达式中结果不为6的是:
解:(首先答案应该为B,)
B的表达式为 x++,2*x;
在c语言中,x++表示执行完x++所在的这一语句后x的值才加1,而执行完x++所在的这一语句的标志是以分号结束,x++,2*x;分号在2*x后面,所以,x的值是在2*x执行完后再加1,在这之前x的值不变,所以2*x时,x的值仍为2,B的表达式结果应该为5,5不等于6,所以结果选B
注:以上答案仅为参考,本人也未深入学习过C,只是给个参考,建议确实不确定答案的还是问下有关方面的老师或者专家
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询