关于C语言的问题。

麻烦帮忙详细解释一下,这三个选择题!谢谢。... 麻烦帮忙详细解释一下 , 这三个选择题!谢谢。 展开
 我来答
匿名用户
2017-08-01
展开全部
第1个题目:就是判断while()括号里面的值是否为真,因为加了个!所以(k>0||n++)为真时while里面的判断语句就为假,因为||为逻辑与,就是判断||两边的式子是否为真,当k>0为真后,后面的式子就不用判断了,所以n并没有执行n++,所以答案为d
第二个题目也是判断while()是否执行循环,当括号里面还没为0时,他就说为真,所以他会执行死循环,当i自减到0时,判断语句为假,就跳出while循环,执行下面的语句,所以while循环里面的打印出来的值为4,2,0,因为经历了两次自减,答案为b
第三道题也是一样的,不过要注意的是,&&,先判断第一个式子是否为真,如果为假他就整体为假了就不用判断向后面的语句了,答案为B
追问
第三个 具体 还是没有 弄明白,我模拟算的结果不对。
请详细解答,谢谢
逆流寻迹
2017-08-01 · TA获得超过252个赞
知道小有建树答主
回答量:106
采纳率:0%
帮助的人:75万
展开全部
1、D。while中判断的时候k>0直接就返回true了,不会进行后面的n++运算
2、B。i--先判断后自减,--i先自减再执行(输出)

3、B。思路参考上面两道,模拟运算即可
追问
第三题请详细解答,谢谢
追答
首先理解我前面说的,i++先判断再加,++i是先加再判断。
接下来模拟运算即可:
3>0 && 10 && 20 && 30 判断条件false,不会再执行++x<5的运算,退出循环,但是z--仍然会计算,此时z=-1,x和y不变
最后打印结果:x=3,y=2,z=-1。选B
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
imkarayi9d4f
2017-08-01 · TA获得超过1552个赞
知道小有建树答主
回答量:1164
采纳率:85%
帮助的人:602万
展开全部
//题1 
#include <stdio.h>
int main()
{
int n=2,k=1;
while( !( k>0 || n++ ));
printf("%d %d\n",k,n); //输出 1 2
//答案是D 
}

//题2 
#include <stdio.h>
int main()
{
int i=6;
while( i--)
printf("%d",--i);
printf("\n");//输出420
//答案是B 
}


//题3 
#include <stdio.h>
int main()
{
int x=0,y=5,z=3;
while( z-- >0 && ++x <5 ) y=y-1;
printf("%d,%d,%d\n",x,y,z);//输出 3,2,-1
//答案是B 
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a874f92
2017-08-01 · TA获得超过242个赞
知道答主
回答量:186
采纳率:0%
帮助的人:44.5万
展开全部
我测试过.选B.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式