有关C语言的三道选择题

大家帮忙看看下边这三道题,本人实在想不出正确答案是怎么得出来的,麻烦大家尽量写出详细的解题过程,谢谢!1.有以下程序,程序执行后输出结果是()(正确答案:D)main()... 大家帮忙看看下边这三道题,本人实在想不出正确答案是怎么得出来的,麻烦大家尽量写出详细的解题过程,谢谢!
1.有以下程序,程序执行后输出结果是()(正确答案:D)
main()
{ int i,n=0;
for(i=2;i<5;i++)
{ do{ if(i%3) continue;
n++;} while(!i);
n++;}
printf("n=%d\n",n);}
A)n=5 B)n=2 C)n=3 D)n=4
2.运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果是()(正确答案:C)
main()
{ int m,n;
printf("ENTER m,n:"):scanf("%d%d",&m,&n);
while(m!=n){ while(m>n) m-=n;
while(n>m) n-=m; }
printf("m=%d\n",m);
}
A) m=3 B)m=2 C)m=1 D)m=0
3.以下程序段的输出结果是()(正确答案:D)
int k,j,s;
for(k=2;k<6;k++,k++)
{ s=1;
for(j=k;j<6;j++) s+=j;}
printf("%d\n",s);
A)9 B)1 C)(书上印的不清楚,我看不清)D)10
展开
 我来答
百度网友6c9f2ba
2010-08-01 · 超过16用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:42.8万
展开全部
1.开始i==2,进入for循环,进入do while循环,i%3==2,执行continue,判断(!i)==0,跳出do while循环,执行n++,n==1。进入下一次循环,i==3,进入do while循环,i%3==0,没有执行continue,往下执行n++,n==2,判断(!i)==0,跳出do while循环,执行n++,n==3。进入下一次循环,i==4,与第一次i==2时情况一样,执行了一次n++,n==4。i==5时就不满足for循环条件了。所以最终结果是n==4。

2.m-=n表示把(m-n)的值赋给m。按照程序步骤一步步运算就行了。

3.它输出的是s,而循环体里面有对s赋值,所以只需考虑最后一次的for循环就行了(每次进入外层for循环就对s重新赋1),最后一次外层for循环其实就是第二次,k==4,s==1,j从4到5,执行两次里面的for循环,j==4时,s=1+4,j==5时,s=1+4+5,j==6时,跳出循环。所以最终结果是10。
luotuocao9
2010-08-01
知道答主
回答量:4
采纳率:0%
帮助的人:3.3万
展开全部
ok
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a43c44c
2010-08-01
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
第一题只有当i=2和i=4的时候有n++,n=3的时候,因为if(i%3) continue;这条语句而不会执行下面的语句了,有重新从for的语句开始,所以n加了四次,n=4.
第二题是这样的,刚开始m>n,所以一直在while(m>n) m-=n;这个语句中循环,经过4次的循环后m=9,则进入下一个循环 while(n>m) n-=m; ,这时m=9,n=14,经过一次的运算后,n=5,m=9,因为n!=m且m>n所以有进入第一个循环,就这样来做,你试试,可以算出最后结果的!
第三题这样来,这个代码前面的循环全是浪费,结果只要看k=4的时候就行了,因为k=4以后就退出所有循环并输出s了,当k=4时,经过for(j=k;j<6;j++) s+=j;得出s=5,然后j++后j就=5,在一次经过s+=j就得出s=10了!QQ263955809,有不懂得可直接问!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友55c508ffb
2010-08-01
知道答主
回答量:9
采纳率:0%
帮助的人:1.4万
展开全部
第一题:首先i=2,进入循环,因为2%3不为0,所以跳出循环,n加1为1。i加1为3,进入循环,因为3%3为0,所以n加一为2,出循环再加一为3.i+1为4,进入循环,4%3为真,跳出循环,n再加1为4.i加一为5,因为不满足for要求,跳出循环。所以n为4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式