若有如下程序:main(){int k,x=0,y=0;for(k=0;k<=2;k++)switch(k){case0:X++;case1:y++;case2:X++

题目

若有如下程序: main() { int k,x=0,y=0; for(k=0;k<=2;k++) switch(k) { case 0: X++; case 1: y++; case 2: X++;y++; } printf("%d,"d\n",x,y); } 则程序运行后的输出结果是( )。

A.3,3

B.2,2

C.4,5

D.2,3

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

第1题:

以下程序运行结果是【8】 。

long fib (int g)

{ switch (g)

{ case 0∶return 0;

case 1∶case2∶return 1;

}

return (fib (g-1)+fib(g-2));

}

main ()

{ long k;

k=fib (5);

printf ("k=%(d\n)",k);

}


正确答案:
k=5

第2题:

以下程序运行后的输出结果是【】。includemain(){int k=1,s=0; do{ if((k%2)!=0)continue;

以下程序运行后的输出结果是【 】。

include<stdio.h>

main()

{ int k=1,s=0;

do{

if((k%2)!=0) continue;

s+=k; k++;

}while(k>10);

printf("s+%d\n",s);

}


正确答案:s=0
s=0 解析:do-while循环结构的形式如下:
do
循环体
while(表达式);
循环的执行过程如下:
①执行do后面循环体中的语句。
②计算while后—对圆括号中表达式的值。当值为非0时,转去执行步骤1;当值为0时,执行步骤3。
③退出do-while循环。
在本题中先判断k是否为偶数,如果不是则结束本次循环,进行下—次的循环条件判定,由于没有改变k的值,k>10的不成立,退出do-while循环,执行后面的printf("s=%d\n",s);语句,因为s=0,所以输出结果为s=0。

第3题:

有以下程序( )。A main() {int k=5,n=0; do {switch(k) {case1: case3:n+=1; break; default;n=0;k--; case2: case4:n+=2;k--;break; } printf(“%d”,n); }while(k>0&&n<5); }

程序运行后的输出结果是

A. 235

B. 0235

C. 02356

D. 2356


正确答案:A

第4题:

下列语句序列执行后,k的值是______。 int x=10,y=30; do{ y-=x; X++; }while(x++<y--);

A.0次

B.1次

C.2次

D.3次


正确答案:C
解析:题目中的循环为“直到型”循环,至少做1次,选项A可以被排除;程序首先执行循环体,得到x=11,y=20,然后计算终止条件值为true,而x和y的值分别改变为12和19:接着进行第二次循环,执行循环体,得到x=13,y=7,然后计算终止条件值为false,退出循环,因此执行了2次循环,答案为选项C。

第5题:

下列程序的输出结果是______。 main() { char *s="12134211"; int v[4]={0,0,0,0},k,i; for(k=0;s[k];k++) { switch(s[k]) { case '1':i=0; case '2':i=1; case '3':i=2; case '4':i=3; } vii]++; } for(k=O;k<4;k++) printf("%d ",v[k]); }

A.4211

B.0008

C.4678

D.8888


正确答案:B

第6题:

下列程序的输出结果是()。includevoid fun(int*a,int*B){int *k;k=a;a=b;b=k;}main(){i

下列程序的输出结果是( )。 #include<stdio.h> void fun(int*a,int*B){ int *k; k=a;a=b;b=k;} main() { int a=1,b=2,*x=&a,*y=&b; fun(x,y); printf("%d%d",a,B); }

A.2 1

B.1 2

C.编译出错

D.0 0


正确答案:B

第7题:

有以下程序: #include<stdio.h> void fun(int*s) { static int i=0; do{s[J]=s[J]+s[j+I];}while(++j<2); } main( ) { int k.a[l0]={1,2,3,4,5}; for(k=1;k<3;k++)fun(a); for(k=0;k<5;k++)pfintf("%d",a[k]); printf("\n"); } 程序运行后的输出结果是( )。

A.12345

B.23445

C.34756

D.35745


正确答案:D
本题考查静态变量,静态变量有储存已经操作过的值,所以fun(a)s[O]=3,s[1]=5,s[2]=7,所以答案选择D。

第8题:

有以下程序:void main(){ int k=0,n=0; while(k<5) { switch(k) { default: break; case 1:n+=k; case 2: case 3:n+=k; } k++;}printf("%d\n",n); } 程序运行后的输出结果是( )。A)0 B)4C)6 D)7


正确答案:D
首先k=0,执行default,退出switch,k++,执行case 1,2,3后,n=2,k++,执行case2,3,n=4,k++,执行case 3,n=7.执行k++,执行default,k++,退出循环。

第9题:

有以下程序includemain(){int k=5,n=0;while(k>0){switch(k){defhult:break;case 1:n+

有以下程序 #include<stdio.h> main() {int k=5,n=0; while(k>0) {switch(k) {defhult:break; case 1:n+=k: case 2: case 3:n+=k; } k--; } printf("%d\n",n); } 程序运行后的输出结果是( )

A.0

B.4

C.6

D.7


正确答案:D
解析:因为没有break语句,当k=2的时候,会顺序执行两条语句,k=1的时候,会顺序执行3条语句。

第10题:

请阅读以下程序:includevoid fun(int s[]){static int j=0; dos[j]+=s[j+1]; while(++

请阅读以下程序: #include<stdio.h> void fun(int s[]) { static int j=0; do s[j]+=s[j+1]; while(++j<2);} main() { int k,a[10]={1,2,3,4,5}; for(k=1;k<3;k++)fun(a); for(k=0;k<5;k++)printf("%d",a[k]);} 上面程序的输出是

A.34756

B.23445

C.35745

D.12345


正确答案:C
解析:本题考查了通过数组首地址引用数组元素的方法。第一次执行fun(a)后,a[0]=3,a[1]=5。第二次执行fun(a)时,因为static变量j保存着上次执行时的值为2,所以a[2]=7,最后数组a={3,5,7,4,5},所以正确答案为C)。

更多相关问题