1. 若要求在if后表示条件“a不等于0成立”,则能正确表示这一关系的表达式为() A.a<>0 B.!a C. a=0 D. a 2. 以下错误的if语句是()
A. if(x>y) ; B.if(x= =y) x+=y;
C. if(x!=y) scanf(“%d”,&x);else scanf(“%d”,&y); D.if(x C.缩进位置相同的if D.其前面最近的且尚未配对的if 4. 若有说明int x,y;不能实现以下函数关系的程序段是() -1 x<0 y= 0 x=0 1 x>0 A.if(x<0) y=-1; else if (x= =0) y=0; else y=1; B.y=-1; if (x!=0) if (x>0) y=1; else y=0; C.y=0; if(x>=0) {if (x>0) y=1;} else y= -1; D.if(x>=0) if(x>0) y=1; else y=0; else y= -1; 5. 已知int x,a,b;则下列选项中错误的if语句是() A.if(a=b) x++; B.if(a= 6. 若int i=10;则执行下列程序后,变量i的正确结果是() switch(i) {case 9: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; } A. 10 B.11 C.12 D. 13 7. 设有说明语句int a=1,b=0;则执行下列语句后,输出为() switch(a) {case 1: switch(b) {case 0: printf(“**0**”);break; case 1: printf(“**1**”);break;} case 2: printf(“**2**”);break; } A.**0** B.**0****2** C. **0****1****2** D.语法错误 8. 下列程序的运行结果是() #include {int a=2,b= -1,c=2; 1 if(a if(b printf(“%d\\n”,c); } A.0 B.1 C.2 D.3 9. 阅读程序,选择运行结果() #include a=1;b=2;c=3; if(a>b) if(a>c) printf(“%d”,a); else printf(“%d”,b); printf(“%d”,c); } A. 1 2 B. 2 3 C. 3 D. 以上都不对 10. 选择运行结果() #include {int a= - 1,b=1,k; if((++a<0)&&!(b--<=0)) printf(“%d %d\\n”,a,b); else printf(“%d %d\\n”,b,a); } A.-1 1 B.0 1 C. 1 0 D.0 0 11. 执行下列程序,运行结果为() #include { int a=10,b=0; if(a=12) {a=a+1;b=b+1;} else {a=a+4;b=b+4;} printf(“%d ; %d\\n”,a,b); } A. 13;1 B.14;4 C. 11;1 D.10;0 12. 选择运行结果。 #include ch=getchar(); switch (ch) { case 65: printf(“%c”,?A?); case 66: printf(“%c”,?B?); default: printf(“%s”,”other”); } } 如果程序可以正常运行,则从键盘输入字符A时,输出的结果为()A.A B.ABother C.Aother D.编译错误,无法运行 第五章习题 1.与语句while(!x)等价的语句是() A.while(x==0) B.while(x!=0) C.while(x!=1) D.while(~x) 2 2.若a.b均为int 类型变量,a=100,则对以下for语句的正确判断是() for(b=100;a!=b;++a,b++) printf(“----\\n”); A. 循环体只执行一次 B.死循环 C.循环体一次也不执行 D.输出---- 3.若int i,x;则for(i=x=0;i<9&&x!=5;i++,x++)控制的循环体将执行()次 A. 10 B. 9 C. 5 D. 6 4若a=1,b=10为int类型变量,则执行下列语句后,b的值为(),a的值为() do{ b-=a; a++;}while(b--<0); ①A. 9 B.-2 C.-1 D.8 ②A.4 B.2 C.1 D.3 5.若int x;且有下面的程序片段,则输出的结果为() for(x=3;x<6;x++) printf((x%2)?”**%d”:”##%d\\n”,x); A.**3 B.##3 C.##3 D.**3##4 ##4 **4 **4##5 **5 **5 ##5 3 第六章 数组习题 6.选择运行结果。 #include printf(”%d ”,--n); } A. 2 0 B. 3 1 C. 3 2 1 D.2 1 0 7.选择运行结果。 #include for(i=0,j=10;i printf(”%d\\n”,j); } ①i的值为 A. 5 B.6 C.7 D.8 ②j的值为 A. 5 B.6 C.7 D.8 8.读程序写结果。 #include {int i=0,j=0,k=0; for(m=0;m<4;m++) switch(m) {case 0:i=m++; case 1:j=m++; case 2:k=m++; case 3: m++; } printf(“\\n%d,%d,%d,%d”,i,j,k,m); } A. 0,0,2,4 B.0,1,2,3 C.0,1,2,4 D.0,1,2,5 9.读程序,写出运行结果() main() {int k,j,m; for(k=5;k>=1;k--) {m=0; for(j=k;j<=5;j++) m=m+k*j; } printf(”%d\\n”,m); } A.124 B.25 C.36 D.15 10.读程序。写结果 main() {int i,j; float s; for(i=7;i>4;i--) {s=0; for(j=i;j>3;j--) 4 第六章 数组习题 s=s+i*j; } printf(”%f\\n”,s); } A.154.000000 B.90.000000 C.45.000000 D.60.000000 11.读程序,写结果。 main() {int x=10,y=10,i; for(i=0 ;x>8 ;y=++i) printf(“%d %d“,x--,y) ; } A.10 1 9 2 B.9 8 7 6 C.10 9 9 0 D.10 10 9 1 12 运行下列程序,输入指定数据,选择输出结果。 main() {int s; while((s=getchar())!=?\\n?) {switch(s-?2?) {case 0:putchar(s+4); case 1:putchar(s+4);break; case 2:putchar(s+3); case 3:putchar(s+2);break; } } printf(“\\n”); } 输入数据:2473<回车> A.6688766 B.66767 C.668966 D.668977 13.下列程序的运行结果是 main() {int i=1; while(i<=15) if(++i%3!=2) continue; else printf(“%d “,i); printf(“\\n”); } 14.下列程序的运行结果是 main() {int i=0,j=0; while(i<10) i++; while(j++<10) ; printf(“i=%d,j=%d\\n”,i,j); } 15.下列程序的运行结果是 main() {int i,j,k; char space=? ?; for(i=0;i<=5;i++) 5