1、一、选择题 1. 设有如下程序段,则下面描述正确的是 int k=10; while (k=0) k=k-1; A.while循环执行10次 B.循环是无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次 2. 下面程序段的运行成果是 a=1; b=2; c=2; while(a
2、 D.2,1,1 3. 下面程序段的运行成果是 。 int n=0; while(n<=2) n++; printf(“%d”,n); A.2 B.3 C.4 D.有语法错误 4. 设有如下程序段,则描述正确的是 。 t=0; while (printf(“*”)) {t++; if(t<3) break;} A.其中循环控制体现式与0等价 B.其中循环控制体现式与‘0’等价 C.其中循环控制体现式是不合法的 D.以上说法都不对 5. 下面程序的功效是将从键盘输入的一对数,由小到大排序输出,当输
3、入一对等数时结束循环,请选择填空。
#include
4、de
5、rintf("%d",num);
}
return 0;
}
A.1 B.12 C.123 D.1234
11. 如下程序的功效是计算一个整数的各位数字之和,请选择填空。
#include
6、 D.=n/10 13. 如下程序段 。 x=-1; do { x=x*x;}while(!x); A.是死循环 B.循环执行二次 C.循环执行一次 D.有语法错误 14. 如下描述中正确的是 。 A.while、do-while、for循环中的循环体语句都最少被执行一次 B.do-while循环中,while(体现式)背面的分号能够省略 C.while循环体中,一定要有能使while背面体现式的值变为“假”的操作 D.do-while循环中,依照情况能够省略while 15.下面程序的功效是计算正整数
7、2345的各位数字的平方和,请填空。
#include
8、D.n%10
17. 下面程序的运行成果是 。
#include
9、句中,能够包括多条语句,但必须用花括号括起来 19. 对for(体现式1; ;体现式3)可了解为 。 A.for(体现式1;0;体现式3) B.for(体现式1;1;体现式3) C.for(体现式1;体现式1;体现式3) D.or(体现式1;体现式3;体现式3) 20. 若i为整型变量,则如下循环执行次数是 。 for (i=2; i= =0; ) printf(“%d”,i--); A.无限次 B.0次 C.1次 D.2次 21. 如下不是无限循环的语句为 。 A.for(y=0
10、 x=1; x>++y; x=i++) i=x;
B.for( ; ; x++=i);
C.while(1) {x++;}
D.for(i=10; ; i--) sum+=i;
24. 下面程序的功效是求算式xyz+yzz=532中的x,y,z的值(其中xyz和yzz分别表示一个三位数),请选择填空。
#include
11、 { i=100*x+10*y+z+100*y+10*z+z; if ( ) printf(“x=%d,y=%d,z=%d\n”,x,y,z); } return 0; } A.z=x B.z=1 C.z=0 D.z=y A.i/result==1 B.i=result C.i!=result D.i==result 25. 如下正确的描述是 。 A.continue语句的作用是结束
12、整个循环的执行
B.只能在循环体内和switch语句体内使用break语句
C.在循坏体内使用break语句或continue语句的作用相同
D.从多层循环嵌套中退出,只能使用goto语句
26. 在下面的程序中, 。
#include
13、C.printf函数永远也不执行
D.最多允许输出100个非负整数
28. 下面程序的运行成果是 。
#include
14、 A 3. B 4. D 5. B 6. C A 7. D C 8.B 9. C 10. A 11. A 12. C 13. C 14. C 15. B C 16. B D 17. D 18. D 19. B 20. B 21. A 22. D 23. B 24. C D 25. B 26. D 27. C 28. B 二、填空题 1. 下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请填空。 int n=0, c; c=getchar( ); whil
15、e( )
{ if( ) n++;
c=getchar( )
}
3. 当运行如下程序时,从键盘键入right?<回车>,则下面程序的运行成果是 。
#include
16、 {int a=2,s=0,n=1,count=1; while(count<=7) {n=n*a;s=s+n;++count;} printf("s=%d\n",s); return 0; } 6. 下面程序段中循环体的执行次数是 。 a=10; b=0; do { b+=2; a-=2+b;}while(a>=0); 7. 下面程序段的运行成果是 。 x=2; do { printf(“*”); x--; } while(!x= =0); 8. 下面的程序的功效是用do-while语句求1—1000之间满足“用3除余
17、2,用5除余3,用7除余2”的数,且一行只打印5个数,请填空。
#include
18、面程序的运行成果是 。
#include
19、i<=7); printf("x=%d,y=%d\n",x,y); return 0; } 12. 鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空完成程序。 for(x=1; x<=30; x++) {y=30-x; if( ) printf(“%d,%d\n”,x,y); } 13. 下面程序段的运行成果是 。 for(a=1,i=-1; -1<=i<1; i++) { a++; printf(“%2d”,a);} pr
20、intf(“%2d”,i);
14. 下面程序的功效是1-3+5-7+……-99+101的值。请填空。
#include
21、i%2)
{case 0: i++; printf("#");break;
case 1: i+=2; printf("*");
default: printf("\n");
}
return 0;
}
17. 下面程序的功效是统计用数字0-9能够组成多少个没有重复数位的3位偶数。请填空。
#include
22、 )
{printf("%d\n",i*100+j*10+k);
n++;
}
printf("n=%d\n",n);
return 0;
}
18. 下面程序的功效是输出1-100之间满足每位数的乘积不小于每位数的和的数。请填空。
#include
23、
s+=m%10;
;
}
if(k>s) printf("%5d",n);
}
printf("\n");
return 0;
}
20. 若从键盘输入65 14<回车>,则下面程序的运行成果是 。
#include
24、intf("m=%d\n",m);
return 0;
}
21. 下面程序的功效是计算100-1000之间有多少个数其各位数字之和是5。请填空。
#include
25、nt%5==0) putchar('\n'); } putchar('\n'); return 0; } 答案: 1. c!=’\n’ c>=’a’ && c<=’z’ || c>=’A’ && c<=’Z’ 2. (x1) x1/2-2 3. sjhiu 4. s=254 5. 5,5 6. 3 7. ** 8. (i%3==2 && i%5==3 && i%7==2) (j%5==0) 9. k=14 n=-1 10. x=1,y=20 11. i<=x 12. 2*x+4*y==90 13. -1 14. q*i -q 15. e=1 n>=1e-6 16. * # 17. k+=2 j!=i && j!=k 18. m=n m m/=10 19. j=1 k>=0 && k<=6 20. m=1 21. k k/10 continue 22. break k<=10






