第5章循环控制结构作业.
- 格式:doc
- 大小:142.00 KB
- 文档页数:16
第5章循环控制结构一、单选题1、下列循环的输出结果是( B )#include<stdio.h>int main( ){ int n=10while (n>7){ n--;printf("%d\n",n);}}A. 10 9 8B. 9 8 7C. 10 9 8 7D. 9 8 7 62、以下程序的输出结果是( A )#include<stdio.h>int main( ){ int n=4;while(n--)printf("%d ",--n);}A. 2 0B. 3 1C. 3 2 1D. 2 1 03、设有以下程序段,则下面描述中正确的是(C)#include<stdio.h>int main( ){ int k=10;while(k==0) k=k-1; }A. while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次4、有以下程序段,while循环执行的次数是( C)#include<stdio.h>int main( ){ int k=0;while(k=1) k++; }A.无限次B.有语法错,不能执行C.一次也不执行D.执行一次5、设K为整形,则下面的while循环执行( B )次#include<stdio.h>int main( ){ int k=2;while(k==0) { printf("%d",k); k--; }printf("\n");}A.无限次B. 0次C. 1次D. 2次6、读程序,输出结果是(C )#include<stdio.h>int main( ){ int num=0;while (num<=2){ num++; printf("%d",num); }}A. 1B. 2 2C. 1 2 3D. 1 2 3 47、下面程序段的运行结果是(A )#include<stdio.h>int main( ){ int a,b,c;a=1;b=2;c=2; 2 1 1 12while(a<b<c) {t=a;a=b;b=t;c--;}printf("%d,%d,%d",a,b,c);}A. 1,2,0B. 2,1,0C. 1,2,1D. 2,1,18、假定a和b为int型变量,则执行以下语句后b的值为D#include<stdio.h>int main( ){ int a=1,b=10;do{ b=b-a; a++; }while (b-->0);}A. -3B. -2C. -1D. -49、以下程序段____C__#include<stdio.h>int main( ){ int x=-1;do {x=x*x;}while(!x);}A.是死循环B.循环执行二次C.循环执行一次D.有语法错误10、有如下程序,该程序的执行结果是(B )#include<stdio.h>int main( ){ int x=23;do printf("%d",x--);while(!x);}A. 321B. 23C.不输出任何内容D.陷入死循环11、执行以下程序后,输出的结果是(D )#include<stdio.h>int main( ){ int y=10;do {y--;}while(--y);printf("%d\n",y--);}A. -1B. 1C. 8D. 012、若输入字符串:abcde<回车>,则输出为(D )#include<stdio.h>int main( ){ char ch;while((ch=getchar())=='e') printf("*");}A. *B.***C. ****D.空13、如果输入为:ABCdef,执行下面一段程序后,则输出为(B )#include<stdio.h>int main( ){ char ch;while((ch=getchar( ))!='\n'){ if(ch > ='A' && ch < ='Z')ch=ch+32;else if(ch>='a' && ch<'z') ch=ch-32;printf("%c",ch);}printf("\n");}A. ABCdefB. abcDEFC. abcD. DEF14、以下描述中正确的是(C )A.由于do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B. do-while 循环由do开始,用while结束,在while(表达式)后面不能写分号C.在do-while 循环体中,一定要有能使while 后面表达式的值变为零(“假”)的操作D. do-while 循环中,根据情况可以省略while15、以下叙述正确的是(D )A. do-while语句构成的循环不能用其它语句构成的循环来代替。
B. do-while语句构成的循环只能用break语句退出。
C.用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D.用do-while语句构成的循环,在while后的表达式为零时结束循环。
91 816、以下程序的输出结果是(D )#include<stdio.h>int main( ){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d %d ",x--,y) ;}A. 10 1 9 2B. 9 8 7 6C. 10 9 9 0D. 10 10 9 117、若i为整型变量,则以下循环执行次数是(B )#include<stdio.h>int main( ){ int i;for(i=2;i==0; ) printf("%d",i--);}A.无限次B. 0次C. 1次D. 2次18、以下循环体的执行次数是(C )#include<stdio.h>int main( ){ int i,j;for(i=0,j=1;i<=j+1;i+=2,j--) 0printf("%d \n",i);}A. 3B. 2C. 1D. 019、设i,j为int型变量,则下面for循环语句的执行结果是(B )#include<stdio.h>int main( ){ int i;for(i=10,j=0;j<2;j++){ if(i%3) i--; --i; --i;printf("%d ",i) }}A. 6 3B. 7 4C. 6 2D. 7 320、下面程序的输出是(B )#include<stdio.h>int main( ){ int y=9;for( ;y>0;y--)if(y%3==0){printf("%d",--y);continue;}}A. 741B. 852C. 963D. 87542121、有以下程序,其输出结果是(C )#include<stdio.h>int main( ){ int x,i;for(i=1;i<=50;i++){ x=i;if(x%2==0)if(x%3==0)if(x%7==0)printf("%d",i);}}A. 28B. 27C. 42D. 4122、执行下面的程序后,a的值为(C )#include<stdio.h>int main( ){ int a,b;for (a=1,b=1;a<=100;a++){ if(b>=20) break;if(b%3==1) { b-=2; continue; } b=4 7 10b+=5;printf(“%d%d”,a,b);}}A. 11B. 15C. 12D. 1323、执行下面的程序后,a的值为(B )#include<stdio.h>int main( ){ int a,b;for (a=1,b=1;a<100;a++){ if (b>=20) break;if (b%3==1) { b+=3; continue; }b-=5;}}A. 7B. 8C. 9D. 1024、若x是int型变量,以下程序段的输出结果是( )。
#include<stdio.h>int main( ){ int x;for(x=3;x<6;x++)printf((x%2)?(”* * %d”):(”# # %d\n”),x);}A. * * 3 # # 4 * * 5B. # # 3 * * 4 # # 5C. # # 3 * * 4 # # 5D. * * 3 # # 4 * * 525、以下程序的输出结果是()#include<stdio.h>int main( ){ int i;for(i=1;i<6;i++){ if(i%2) {printf("#");continue;}printf("*");}printf("\n");}A. #*#*#B. #####C. *****D. *#*#*26、下面程序段的运行结果是()#include<stdio.h>int main( ){ int x=3;do {pfintf(“*_*”);x--;}while(x);}A. *_*B. ***C. **_**_**D. *-**_**_*27、以下程序的输出结果是()#include<stdio.h>int main( ){ int a=0,i;for(i=1;i<5;i++){ switch( i ){ case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5; }}printf("%d\n",a);}A. 31B. 13C. 10D. 2028、运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为()#include<stdio.h>int main( ){ int v1=0,v2=0;char ch;while((ch=getchar( ))!='#')switch(ch){ case 'a':case 'h':default: v1++;case '0': v2++}}A. 2,0B. 5,0C. 5,5D. 2,529、若i,j已经定义为int类型,则以下程序段中内循环总的执行次数是()#include<stdio.h>int main( ){ int i,j;for (i=5;i>0;i--)for (j=0;j<4;j++) {...}}A. 20B. 24C. 25D. 3030、有以下程序,输出结果是()#include<stdio.h>int main( ){ int i, j;for(j=10;j<11;j++){ for(i=9;i<j; i++)if (!(j%i))break;if(i=j-1) printf("%d",j);}}A. 11B. 10C. 9D. 10 11二、分析程序1、输入1 ,输出()#include<stdio.h>int main( ){ int sum=0, i ;scanf( "%d",&i );while (i<=10){ sum=sum+i;i++; }printf("%d",sum);}2、以下程序的输出结果是()#include<stdio.h>int main( ){ int X=15;while(X>10&&x<50){ X++;if(x/3) { X++;break;}else continue;}printf(”%d\n”,X);}3、以下程序的输出结果是()#include<stdio.h>int main( ){ int s,i;for(s=0,i=1;i<3;i++,s+=i) printf("%d\n",s);}4、以下程序的输出结果是()#include<stdio.h>int main( )while(x--);printf("%d\n",x);}5、下述程序的运行结果是()#include<stdio.h>int main( ){ int s=0,k;for(k=7;k>4;k--){ switch(k){ case 1:case 4:case 7:S++;break;case 2:case 3:case 6:break;case 0:case 5:s+=2;break;}}}6、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为()#include<stdio.h>int main( ){ int i,j;for(i=0,j=10;i<=j;i++,j--)k=i+j;}7、程序运行后,如果从键盘上输入1298;则输出结果为()#include<stdio.h>int main( )scanf("%d",&n2);while(n2!=0){ n1=n2%10;n2=n2/10;printf("%d",n1);}}三、程序填空1、求输入100个数中正数的个数及其平均值#include<stdio.h>int main( ){int i,n;float sum,f;n=0;1 ;for(i=0;i <= 100,i++){print f("enter a real number:";scanf("%f",&f));if 2continue;3 ;n++;}print f("sum=%f",sum);print f("a rerage=%f",sum/n); }}2、下面程序的功能是:计算1到10之间奇数之和及偶数之和,请填空。