有以下程序#include<stdio.h>main( ){int a=1,b=0if(!a)b++;else if(a==0)if(a)b+=2else b

题目

有以下程序

#include<stdio.h>

main( )

{int a=1,b=0

if(!a)b++;

else if(a==0)if(a)b+=2

else b+=3

printf(”%d\n”,b);

}

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

A.0

B.1

C.2

D.3

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

第1题:

【单选题】以下程序的运行后的输出结果是_______。 #inlude <stdio.h> main() { int a=1,b=0; if(--a) b++; else if(a==0) b+=2; else b+=3; printf("%dn",b); }

A.0

B.1

C.2

D.3


7

第2题:

试题18

有以下程序

#include <stdio.h>

main()

{ int a=1,b=0;

if(- -a) b++;

else if(a= =0) b+=2;

else b==3;

printf(“%d\n”, b);

}

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

A.0

B.1

C.2

D.3


正确答案:C
试题18分析
a的值为1,- -a为0,不满足if(- -a),此时a的值为0,满足if(a= =0),执行b+=2;所以b的值为2。所以输出结果为2。
试题18答案
c

第3题:

若有如下程序:main(){int a=1,b=1;for(;a<=10;a++){if(b>=9)break;if(b%3==1){b+=3;continue;}b+

若有如下程序: main() { int a=1,b=1; for(;a<=10;a++) { if(b>=9) break; if(b%3==1) {b+=3;continue;} b++; } printf("%d,%d",b,a); } 则程序运行后的输出结果是( )。

A.10,4

B.7,3

C.10,3

D.11,3


正确答案:A
解析:本题中for循环循环10次。如果b>=9结束循环。如果b能被3整除结束本次循坏。都不成立b加1。for循环执行过程为:当a=1,b=1时,b%3=1,b=b+3=1+3=4,进入下一次循环:当a=2,b=4时,b%3=1,b=b+3=4+3=7,进入下一次循环;当a=3,b=7时,b%3=1,b=b+3=7+3=10,进入下一次循环;当a=4,b=10时,因b>=9成立,执行“break;”退出循环。

第4题:

有以下程序

#include<stdio.h>

main()

{ int a=1,b=0;

if(--a)b++;

else if(a==0) b+=2;

else b+=3:

printf("%d\n",b);

}

程序运行后的输出结果是

A.0

B.1

C.2

D.3


正确答案:C
解析:本题考察运算符和选择语句,执行到if语句时,--a为0,所以不会执行后面的语句,但是会执行else if后面的语句,所以执行后,b=2,选项C)正确。

第5题:

有以下程序includemain(){intx=1,y=0,a=0,b=0;switch(X){case1:switch(y){case0:a++;b

有以下程序 #include <stdio.h> main() { int x=1,y=0,a=0,b=0; switch(X) { case 1: switch(y) { case 0:a++; break; case 1:b++; break; } case 2:a++;b++;break; case 3:a++;b++; } printf("a=%d,b=%d\n",a,b); } 程序

A.a=1,b=0

B.a=2,b=2

C.a=1,b=1

D.a=2,b=1


正确答案:D
解析: 本题考查switch语句,首先,x=1符合条件casel,执行switch(y)语句,y=0符合case 0语句,执行a++并跳出switch(y)语句,此时a=1。因为case 1语句后面没有break语句,所以向后执行case2语句,执行a++,b++,然后跳出switch(x),得a=2,b=1。

第6题:

有以下程序:

#include<stdio.h>

main( )

{ int a=1,b=0;

if(--a)b++;

else if(a==0)b+=2;

else b+=3:

print[("%d\n",b);

}

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

A.0

B.1

C.2

D.3


正确答案:D

第7题:

有以下程序includemain(){intx=1,y=0,a=0,b=0; switch(x) {case1:switch(y){case0:a++

有以下程序 #include <stdio.h> main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0:a++; break; case 1:b++; break; } case 2:a++;b++; break; case 3:a++;b++; } printf("a=%d,b=%d\n",a,b); } 程序的运行结果是

A.a=1,b=0

B.a=2,b=2

C.a=1,b=1

D.a=2,b=1


正确答案:D
解析:本题考查switch语句,首先,x=1符合条件case 1,执行switch(y)语句。y=0符合case 0语句,执行 a抖并跳出switch(y)语句,此时a=1。因为case 1语句后面没有break语句,所以向后执行case 2语句,执行a++,b++,然后跳出switch(x),得a=2,b=1。

第8题:

有以下程序:includemain(){intx=1,y=0,a=0,b=0;switch(x){case 1:switch(y){case 0:a+

有以下程序: #include<stdio.h> main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0:a++;break; case 1: b++;break; } case 2:a++;b++;break; case 3:a++;b++; } printf("a=%d,b=%d\n",a,B); } 程序的运行结果是( )。

A.a=1,b=0

B.a=2,b=2

C.a=1,b=1

D.a=2,b=1


正确答案:D

第9题:

下列程序的输出结果是()。includeint b=2;int func(int*A){b+=*a;return b;}main(){int

下列程序的输出结果是( )。 #include<stdio.h> int b=2; int func(int*A){ b+=*a;return b;} main() { int a=1,t=2; t+=func(&a); printf("%d\n",t); }

A.4

B.5

C.6

D.8


正确答案:B
解析: 本题考查函数调用时的参数传递。在执行函数func时,由于全局定义了一个变量b,所以在函数体中执行时b=2+1=3,最终t=2+3=5。