第五章 循环控制
5.1选择题
【题5.1】设程序段 int k=10; while(k=0)k=k-1; 则下面描述中正确的是____.
A)while循环执行10次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次
【题5.2】设有以下程序段 int x=0,s=0; while(!x!=0) s+=++x; printf(”%d”,s); 则____.
A)运行程序段后输出0 B)运行程序段后输出l C)程序段中的控制表达式是非法的 D)程序段执行无限次
【题5.4】下面程序段的运行结果是___. a=1;b=2;c=2;
while(a
A)1,2,2 B)2,1,0 C)1,2,1 D)2,1,1
【题5.5】下面程序段的运行结果是___. x=y=0;
while(x<15) y++,x+=++y; printf(”%d,%d”,y,x); A)20,7 B)6,12 C)20,8 D)8,20
【题5.6】下面程序段的运行结果是___. int n=0;
while(n++<=2); printf(”%d”,n); A)2 B)3 C)4 D)有语法错
【题5.8】下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择填空。 #include
{ int a,b,t;
scanf(“%d%d”,&a,&b); while([1]) { if(a>b)
{t=a;a=b;b=t;} printf(“%d,%d\\n”,a,b);
scanf(“%d%d”,&a,&b); } } [1]
A)!a=b B)a!=b C)a==b D)a=b
【题5.9】下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。
#include
{ int m=0,n=0; char c;
while(([1])!=‘\n‘)
{ if(c>=’A’&&c<=’Z’ )m++; if(c>=’a’&& c<=’z’) n++; }
printf(”%d\\n”,m [1] A)getchar(c) B)getchar( ) C)c=getchar( ) D)scanf(“%c”,c) [2]A)n:m B)m:n C)m:m D)n:n [题5.11] 下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。 #include {int a,max=0; scanf(“%d”,&a); while([1]) {if(max printf(“%d”,max); } [1] A)a==0 B)a C)!a==1 D) !a [题5.12] 下面程序的运行结果是____. #include {int num=0; while(num<=2) {num++; printf(”%d\n”,num); } } A)1 B)1 C) 1 D) 1 2 2 2 3 3 4 [题5.13]若运行以下程序时,从键盘输入2473 while((c=getchar())!=’\\n’) switch(c-‘2’) {case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); default:putchar(c+2);break; } } A)668977 B)668966 C)66778777 D)6688766 表示回