下列程序的运行结果是()。main(){int x=1,y=3,a=0;while(x++!=(y=1)){a+1; if(y<x)break;}printf(

题目

下列程序的运行结果是( )。main(){ int x=1,y=3,a=0; while(x++!=(y=1)) { a+1; if(y<x)break; } printf("%d,%d,%d\n”,x,y,a) ;}

A.2,3,2

B.2,3,1

C.1,3,3

D.3,1,2

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

第1题:

有以下程序 main() {int x,y,z; x=y=1; z=x++,y++,++y; printf("%d,%d,%d\n",x,y,z); } 程序运行后的输出结果是______。

A.2,3,3

B.2,3,2

C.2,3,1

D.2,2,1


正确答案:C
解析:x++:表示在使用x之后,使x的值加1;y++:表示在使用y之后,使y的值加1;++y:表示在使用y之前,使 y的值加1。此题中执行z=x++,是将x的值先赋给z,所以z=1,接下来x自行加1,其结果为2:执行y++后,y=2,执行++后,y=3;故答案选C。

第2题:

有下列程序:

#include"stdio.h"

main()

{ int x=0;

int y=0;

while(x<7&&++y)

{ y--;

x++;}

printf("%d,%d",y,x);

}

程序的输出结果是( )。

A.0,7

B.7,7

C.0,6

D.1,6


正确答案:A
解析:本题考查while循环。y的值在while循环的控制表达式中加1,在循环体内减1,所以总的y值不变,且控制条件++y永远非零。当x加到7时不满足循环条件,结束循环。

第3题:

有以下程序

main()

{ int x, y, z;

x=y=1;

z=x++,y++,++y;

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

}

程序运行后的输出结果是

A)2,3,3

B)2,3,2

C)2,3,1

D)2,2,1


正确答案:C
答案 C
解析:整型变量 x 、 y 的初值都为 1 , “ x++,y++,++y ” 是一个逗号表达式,程序执行“ z=x++,y++,++y ” 之后 , x 的值为 2 , y 的值为 3 , z 取逗号表达式中的第二个表达式的值 ,为 1 。因此本题的答案为选项 C 。

第4题:

有以下程序:include main() {int a[] = {2,4,6,8,10} ,y =0,x, * p;p =&a[1];for(

有以下程序: #include <stdio.h> main() { int a[] = {2,4,6,8,10} ,y =0,x, * p; p =&a[1]; for(x=1;x<3;x++)y+ =p[x]; printf( "% d \n" , y); }程序运行后的输出结果是( )。

A.10

B.11

C.14

D.15


正确答案:C
解析:本程序通过语句p=&a[1];将指针变量p指向存储单元a[1],使得p[0]的值为4,通过for循环,使y的值丸P[1]与p[2]之和,即y=6+8,所以输出的y值为14。

第5题:

以下程序的输出结果是

main()

{ int x=1,y=3;

printf("%d,",x++);

{ int x=0;x+=y*2;

printf("%d,%d, ",x,y);

}

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

}

A.1,6,3,1,3

B.1,6,3,6,3

C.1,6,3,2,3

D.1,7,3,2,3


正确答案:C

第6题:

有以下程序: main() {int a[]={2,4,6,8,10),y=0,x,*P; P=&a[1]; for(x=1;x<3;x++)y+=p[x]; printf("%d\n",y); } 程序运行后的输出结果是( )。

A.10

B.11

C.14

D.15


正确答案:C
解析:指针变量p指向数组元素a[1],则p[1]即为a[2],p[2]即为a[3],执行第一次for循环时,y=y+p[1]=0+a[2]=6,第二次执行for循环,y=y+p[2]=6+a[3]=14,此时x为3,for循环条件不满足,退出循环,输出y的值为14。

第7题:

以下程序段的运行结果是( )。 include main() {int x=2,y=1: switch(x) {case 1: switch

以下程序段的运行结果是( )。 include<stdio.h> main() {int x=2,y=1: switch(x) {case 1: switch(y) {case 0:printf("x=2,y=1\n");break; case 1:printf("y=1\n");break; } case 2:printf("x=2\n"); } }


正确答案:x=2
x=2

第8题:

有以下程序,其输出结果是( )。void main(){ floar x=1; int y; x++; y=x+1; printf("x=%d,y=%f",x,y);}A.x=2,y=3B.x=2,y=3.0C.x=2.0,y=3D.x=0,y=0.000000


正确答案:D
float 是4 个字节,int 是两个字节。当用int 取float 的值时,只取前两个字节

                

第9题:

下列程序的运行结果是_______。

main()

{ int x=1,y=2,z=3;

printf("%d,",x<y?y:x);

primf("%d,",z<y?x++:y++);

primf("%d,%d",x,y);

}


正确答案:2213
2,2,1,3 解析:本题考查++,--运算符和条件运算符的使用。
“表达式1?表达式2:表达式3”的功能是:表达式 1的值若非0,则计算表达式2的值,且表达式2的值为最终结果;若表达式1的值为0,则计算表达式3的值,且为最终结果。
本题中,x=1,y=2时,xy成立,输出y的值2;y=2, z=3时,zy不成立,执行y++,输出2后y值增1,所以最后一个输出x的值不变为1,y的值为增加后的3。

第10题:

下面程序的输出是________。 main() {int x=3,y=6,a=0; while(x++!=(y=|)) { a+=1; if(y<x)break; } printf("x=%d,y=%d,a=%d\n",x,y,A) ; }

A.x=4,y=4,a=1

B.x=5,y=5,a=1

C.x=5,y=4,a=3

D.x=5,y=4,a=1


正确答案:D
解析:注意的是X++中x值的引用时,这里应当是先引用,后自加,具体执行过程如下:第一次while循环:条件为真,执行a=a+1=1此时,x的值已为4,判断yx不成立,继续执行循环;第二次while循环:条件为假,此时x的值已为5,退出while循环,执行printf。

更多相关问题