C语言上机题库百科园第3章!南信大! 下载本文

41.假定所有变量均已正确定义,下列程序段运行后x的值是()。 k1=1; k2=2; k3=3; x=15;

if(!k1) x--;

else if(k2) x=4; else x=3; A.15 B.14 C.3 D.4

42.有以下程序, 程序运行后的输出结果是 ( ) #include int main() {

int i,j,m=1; for(i=1;i<3;i++) { for(j=3;j>0;j--) {if(i*j>3) break; m*=i*j;

} }

printf(“m=%d\\n”,m); return 0;

} A.m=2 B.m=6 C.m=4 D.m=5

43.以下for循环的执行次数是 for(x=0,y=0;(y=123)&&(x<4);x++);()。 A.4次

B.是无限循环 C.3次

D.循环次数不定

44.下列程序的输出结果是()。 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++;break; }

printf(\ }

A.a=2,b=1 B.a=2,b=2 C.a=1,b=0\\ D.a=1,b=1

45.有以下程序, 当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符) 12 34

则输出结果是(B) #include int main() {

char a,b,c,d; scanf(\c=getchar(); d=getchar(); printf(\return 0; } A.12 34 B.1234 C.12 3 D.12

46.以下程序的运行结果是()。 main() { int n;

for(n=1;n<=10;n++) {

if(n%3==0) continue; printf(\ } } A.12

B.12457810 C.1234567890 D.369

47.C语言中 while 和 do-while 循环的主要区别是()。 A.while的循环控制条件比 do-while的循环控制条件更严格 B.do-while 的循环体至少无条件执行一次 C.do-while 的循环体不能是复合语句 D.do-while 允许从外部转到循环体内

48.以下不是无限循环的语句为()。 A.for(;;x++=i); B.while(1){x++;}

C.for(y=0,x=1;x>++y;x=i++) i=x; D.for(i=10;;i--) sum+=i;

49.从循环体内某一层跳出,继续执行循环外的语句是 A.break语句 B.return语句 C.continue语句 D.空语句

50.下列程序的输出为()。 main()

{ int y=10; while(y--);

printf(\ }

A.while构成无限循环 B.y=0 C.y=-1 D.y=1

51.有以下程序,程序运行后的输出结果是( )

#include int main() {

int a=1,b=2;

while(a<6) {b+=a;a+=2;b%=10;} printf(“%d,%d\\n”,a,b); return 0;

}

A.5,11 B.6,1 C.7,11 D.7,1

52.在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的 表达式是()。 A.(E==0) B.(E>0||E<0) C.(!E==0) D.(E!=0)

53.以下程序段的输出结果是

int i, j, m = 0;

for(i = 1; i <= 15; i += 4) for(j = 3; j <= 19; j += 4) m++;

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

A.15 B.12 C.20 D.25

54.执行下列语句后的输出为()。 int j=-1;

if(j<=1) printf(\ else printf(\A.%%%%c

B.有错,执行不正确 C.**** D.%%%%

55.以下程序的执行结果是_______.

main()

{ int num = 0;

while( num <= 2 ) { num++; printf( \

A.1,2,3, B.1,2,3,4, C.1,2, D.0,1,2

56.下面程序的运行结果是

#include main() {

int y=10;

do{y--;}while(--y); printf(\\n\); }

A.0 B.1 C.8 D.-1

57.若有定义语句int a,b;double x;则下列选项中没有错误是( ) A.switch((int)(x)%2) {case 0.0:a++;break; case 1.0:b++;break; default:a++;b++; }

B.switch((int)x%2) {case 0:a++;break; case 1:b++;break; default:a++;b++; } C.switch(x%2) {case 0:a++;break; case 1:b++;break; default:a++;b++; } D.switch((int)x%2.0) {case 0:a++;break; case 1:b++;break; default:a++;b++;