求解C语言练习题

1.以下程序的输出结果为()。main(){charc;inti;for(i=65;i<68;i++){c=i+32;switch(c){case'a':case'b':... 1.以下程序的输出结果为( )。
  main( )
{ char c;
int i;
for(i=65;i<68;i++)
{ c=i+32;
  switch(c)
 {case 'a':
case 'b':
case 'c':printf("%c,",c);break;
default:printf("end");}
  }
}
  A a,b,c,end B a,a,a,end C a,a,a, D a,b,c,
2.有以下程序
   main()
   { int m=0256,n=256;
   printf("%o %o\n",m,n);
   }
   程序运行后的输出结果是
   A)0256 0400 B)0256 256 C)256 400 D)400 400

3.有以下程序
   main()
   { int a=666,b=888;
   printf("%d\n",a,b);
   }
   程序运行后的输出结果是( )
  A)错误信息 B)666 C)888 D)666,888

求答案和解答过程 重酬!!!
展开
 我来答
shenyangrico
2008-04-10 · TA获得超过1014个赞
知道大有可为答主
回答量:1855
采纳率:62%
帮助的人:591万
展开全部
(1)答案D
ASC||码表:
A:65 a:65+32=97
B:66 b:66+32=98
C:67 c:67+32=99
--------------------------------------------------
当i=65时,c=65+32=97也就是c='a';这时switch语句选择执行case 'a'(这是一个空语句,什么也不执行),但因为case‘a’后没有break 语句,所以程序会一直向下执行case 'b'和case 'c'即输出a
当i=66时,c=98(c='b'),程序从case b开始执行,执行到case c,同样输出b
同理,当i=67时,输出c
------------------------------------------------------------、-(2)答案(C)%o是整形八进制格式符。0256代表八进制的数,相当与十进制的174,256代表十进制的数,相当于八进制的0400.注意,0开头代表八进制数,0x开头代表16进制数。
---------------------------------------------------------------
(3)答案选(B)其实我还以为会报错呢,可是执行了一下程序,就是选B,666.

对于以上的答案,我确信是正确的,并亲自通过程序验证。
对于第二题,我原来想选A的,可是结果是C,可能是书写体的时候加0?第三题也有些不懂,请高手们继续补充吧!
zxpointer
2008-04-10 · TA获得超过4103个赞
知道大有可为答主
回答量:1868
采纳率:33%
帮助的人:1225万
展开全部
A
C
B
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c4e154556
2008-04-10 · TA获得超过200个赞
知道答主
回答量:29
采纳率:0%
帮助的人:17.5万
展开全部
第一题:D
解答:一共循环三次,
第一次:i=65,c=97,字符'a'的ASCII码值是97,输出字符'a';
第二次:i=66,c=98,字符'b'的ASCII码值是98,输出字符'b';
第三次:i=67,c=99,字符'c'的ASCII码值是99,输出字符'c';
退出循环。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式