有以下程序: main { int x=0,y=5,z=3; while(z-->0&&++x<5)y=y-l; printf("%d,%d,%d\n",x,

题目

有以下程序: main { int x=0,y=5,z=3; while(z-->0&&++x<5)y=y-l; printf("%d,%d,%d\n",x,y,z); } 程序执行后的输出结果是( )。

A.3,2,0

B.3。2. 1

C.4,3,-1

D.5,2.-5

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序: main() { int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf("%d,%d,%dn",x,y,z); } 程序执行后的输出结果是()

A.3,2,0

B.3,2,-1

C.4,3,-1

D.5,-2,-5


A*P=a;P指向首地址,*(P+2))往后移动两个元素,指向3,所以正确答案为A。

第2题:

有以下程序 main() { int x=0,y=5,z=3; while(z-->0&&++x<5)y=y-1; printf("%d,%d,%d\n",x,y,z); } 程序执行后的输出结果是

A.3,2,0

B.3,2,-1

C.4,3,-1

D.5,-2,-5


正确答案:B
解析:本题中首先定义了三个整型变量x、y和z并分别赋值为0、5和3, while循环的判定条件为z-->0&&++x5,由于z的初值为3,所以当z--执行3次后, z-->0将不再成立,又由于x的初值为0,所以++x执行5次,++X5将不再成立,而他们两个表达式的值为逻辑与的关系,故当z-->0不成立时整个表达式的值为假,因此该循环共执行了3次,即语句y=y-1共执行了三次,但while循环的判定表达式却执行了四次,故最后输出的x、y、z的值分别为3,2,-1。

第3题:

有以下程序:includemain(){int x=0,y=5,z=3; while(z-->0&& ++x<5) y=y-1; pr

有以下程序: #include <sldio.h> main() { int x=0,y=5,z=3; while(z-->0&& ++x<5) y=y-1; printf("%d,%d,%d\n",x,y,z); } 程序执行后的输出结果是( )。

A.3,2,0

B.3,2,-1

C.4,3,-1

D.5,-2,-5


正确答案:B
解析:当x=0,y=5,z=3时,z->0&&++x5成立,执行y=y-1;此时y=5-1=4,z=z-1=2,x=x+1=1;条件z-->0&&++x5仍然成立,继续执行y=y-1,此时y=y-1=3,z=1,x=2;条件z-->0&&++x5仍然成立,继续执行y=y-1,此时y=y-1=2,z=0,x=3;条件不再成立,执行条件判断后x=3,y=2,z=-1。

第4题:

有以下程序:main{ int x=0,y=5,z=3;while(z-->0&&++x<5)y=y-l;printf("%d,%d,%d\n&qu

有以下程序:

main

{ int x=0,y=5,z=3;

while(z-->0&&++x<5)y=y-l;

printf("%d,%d,%d\n",x,y,z);

}

程序执行后的输出结果是( )。

A.3,2,0

B.3,2,-1

C.4,3,-1

D.5,2.-5


正确答案:B
while语句执行如下:当z=3,x=0时,表达式Z-->0&&++x<5为真,z的值变为2,x的值变为1,执行语句“y=y-1;”,y的值变为4;当z=2,x=1时,表达式z-->O&&++x<5为真,z的值变为1,x的值变为2,执行语句“y=y-1;”,y的值变为3;当z=1,x=2时,表达式z-->0&&++x<5为真,z的值变为0,X的值变为3,执行语句“y=y-1;”,y的值变为2;当z=0,x=3时,表达式z-->0为假,表达式(Z-->O&&++x<5)为假,z的值为-1,不进行++x<5的判断,不执行语句y=y-1;;所以x的值为3,y的值为2,z的值为-1。答案为B。

第5题:

下列程序的输出结果是( ) main( ) { int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf(“%d,%d,%d\n”,x,y,z); }

A.3,2,0

B.3,2,-1

C.4,3,-1

D.5,-2,-5


正确答案:B
解析:本题的执行过程是:
  在While循环中,
  比较  x y z
  第—次:  3>0 &&15 1 4 2
  第二次:  2>0 &&25 2 3 1
  第三次:  1>0 &&35 3 2 0
  判断条件“z-->0”不成立,也不执行“i+=2”语句,循环结束,因此,输出结果为3,2,-1。

第6题:

有以下程序: main() { int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf("%d,%d,%d\n",x,y,z); } 程序执行后的输出结果是

A.3,2,0

B.3,2,-1

C.4,3,1

D.5.-2,-5


正确答案:B
解析:本题中首先定义了三个整型变量x、y和z并分别赋值为0、5和3,while循环的判定条件为z-->0&&++x5,由于x的初值为3,所以当z--执行3次后,z-->0将不在成立,又由于x的初值为0,所以++x执行5次,++x5将不再成立,而它们两个表达式的值为逻辑与的关系,故当z-->0不成立时整个表达式的值为假,因此该循环共执行了3次,即语句y=y-1共执行了三次,但while循环的判定表达式却执行了四次,故起最后输出的x、y、z的值分别为3,2,-1,所以,4个选项中选项B符合题意。

第7题:

有以下程序: main() { int x=0,y=5,z=31 while(z-->0&&++x<5)y=y-1; printf("%d,%d,%d\n",x,y,z); } 程序执行后的输出结果是 ______。

A.3,2,0

B.3,2,-1

C.4,3,-1

D.5,-2,-5


正确答案:B
解析:第一次执行while语句时,z=3>0,然后执行z--得z=2,执行++x得x=15,条件成立,执行y=y-1=5
-1=4;第二次执行while语句时,z=2>0,然后执行z--得z=1,执行++x得x=25,条件成立,执行y=y-1=4- 1=3;第三次执行while语句时,z=1>0,然后执行z--得x=0,执行++x得x=35,条件成立,执行y=y-1=3-1= 2;第四次执行while语句时因z=0,z0条件不成立,同时执行c--得z=-1。即执行完while循环后x=3、y=2、z=-1。

第8题:

有以下程序: main() { int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf("%d,%d,%d\n",x,y,z); } 程序执行后的输出结果是( )。

A.3,2,0

B.3,2,-1

C.4,3,-1

D.5,-2,-5


正确答案:B
解析:本题中首先定义了3个整型变量x、y和z,并分别赋值为0、5和3,while循环的判定条件为z-->0&&++x5,由于 z的初值为3,所以当z--执行3次后,z-->O将不再成立,又由于x的初值为0,所以++x执行5次,++x5将不再成立,而它们两个表达式的值为逻辑与的关系,故当z-->O不成立时整个表达式的值为假,因此该循环共执行了3次,即语句y=y-1:共执行了三次,但while循环的判定表达式却执行了四次,故最后输出的x、y、z的值分别为3,2,-1,所以,4个选项中选项B符合题意。

第9题:

有以下程序:main(){ int x=0,y=5,z=3; while(z- ->0&&++x<5?x:y--)y=y-1 Printf("%d,%d,%d\n",x,y,z);}程序执行后的输出结果是( )。A.3,2,0 B.3,2,-1 C.4,3,-1 D.3,-1,-2


正确答案:D
第一次:x=0,y=5,z=3,z>0,z--=2,++x=1<5,所以执行y--=4,y=y-1=4-1=3;
           第二次:x=1,y=4,z=2, z>0,z--=1,++x=2<5,所以执行y--=2,y=y-1=2-1=1;
           第三次:x=2,y=3,z=1, z>0,z--=0,++x=3<5,所以执行y--=0,y=y-1=0-1=-1;
           第四次:x=3,y=2,z=0, z>0不成立,z--= -1,y--=-2退出循环。