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
第二个题目也是判断while()是否执行循环,当括号里面还没为0时,他就说为真,所以他会执行死循环,当i自减到0时,判断语句为假,就跳出while循环,执行下面的语句,所以while循环里面的打印出来的值为4,2,0,因为经历了两次自减,答案为b
第三道题也是一样的,不过要注意的是,&&,先判断第一个式子是否为真,如果为假他就整体为假了就不用判断向后面的语句了,答案为B
追问
第三个 具体 还是没有 弄明白,我模拟算的结果不对。
请详细解答,谢谢
展开全部
1、D。while中判断的时候k>0直接就返回true了,不会进行后面的n++运算
2、B。i--先判断后自减,--i先自减再执行(输出)
3、B。思路参考上面两道,模拟运算即可
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//题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
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我测试过.选B.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询