练习题--循环(答案)

上传人:kms****20 文档编号:40485760 上传时间:2018-05-26 格式:DOC 页数:47 大小:120.50KB
返回 下载 相关 举报
练习题--循环(答案)_第1页
第1页 / 共47页
练习题--循环(答案)_第2页
第2页 / 共47页
练习题--循环(答案)_第3页
第3页 / 共47页
练习题--循环(答案)_第4页
第4页 / 共47页
练习题--循环(答案)_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《练习题--循环(答案)》由会员分享,可在线阅读,更多相关《练习题--循环(答案)(47页珍藏版)》请在金锄头文库上搜索。

1、练习题练习题-循环循环( (答案答案) )循环一、选择题1、设有程序段int k=10;while(k=0) k=k-1;则下面叙述中正确的是( C )(A) while 循环执行 10 次(B) 循环是无限循环(C) 循环体语句一次也不执行(D) 循环体语句执行一次2、设有以下程序段int x=0,s=0;while(!x!=0) s+=+x;printf(“%d“,s);则( B )(A) 运行程序段后输出 0(B) 运行程序段后输出 1(C) 程序段中的控制表达式是非法的(D) 程序段执行无限次3、语句 while(!E); 中的表达式!E 等价于( A )(A) E=0(B) E!=1

2、(C) E!=0(D) E=14、下面程序段的运行结果是( A )a=1; b=2; c=2;while(avoid main()int a,b,t;scanf(“%d%d“,while( )if(ab) t=a; a=b; b=tprintf(“%d,%dn“,a,b);scnaf(“%d%d“,(A) !a=b(B) a!=b(C) a=b(D) a=b9、下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数 m 和小写字母的个数 n,并输出 m、n 中的较大者,处应选择( C )处应选择( A )#include void main()int m=0,n=0;char c;whil

3、e( )!=n)if(c=Awhile(c=getchar()!=n)if(c=ascanf(“%d“,while( )if(maxvoid main()int num=0;while(numvoid main()int c;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;printf(“n“);(A) 668977(B) 668966(C) 66778777(D) 6

4、68876614、C 语言中 while 和 do-while 循环的主要区别是( A )(A) do-while 的循环体至少无条件执行一次(B) while 的循环控制条件比 do-while 的循环控制条件严格(C) do-while 允许从外部转到循环体内(D) do-while 的循环体不能是复合语句15、以下能正确计算 123.10 的程序段是( C )(A) doi=1; s=1;s=s*i;i+;while(ivoid main()int n,sum=0;n=2345;dosum=sum+ ;n= ;while(n);printf(“sum=%d“,sum); (A) n%10

5、(B) (n%10)*(n%10)(C) n/10(D) (n/10)*(n/10) (A) n/1000(B) n/100(C) n/10(D) n%1020、下面程序是从键盘输入学号,然后输出学号中百位数字是 3 的学号,输入 0 时结束循环。请选择填空。( B )( C )#includevoid main()long int num;scanf(“%ld“,doif( ) printf(“%ld“,num);scanf(“%ld“,while( ); (A) num%100/10=3(B) num/100%10=3(C) num%10/10=3(D) num/10%10=3 (A) !

6、num(B) num0=0(C) !num=0(D) !num!=021、等比数列的第一项 a=1,公比 q=2,下面程序的功能是求满足前n 项和小于 100 的最大 n,请选择填空。( B )( D )#includevoid main()int a,q,n,sum;a=1; q=2; n=sum=0;do ;+n; a*=q;while(sumvoid main()int i=0,j,k;doi+; k=316-13*i; while( );j=k/11;printf(“316=13*%d+11*%d“,i,j); (A) k/11(B) k%11(C) k/11=0(D) k%11=02

7、3、下面程序的运行结果是( D )#includevoid main()int y=10;doy-;while(-y);printf(“%dn“,y-);(A) -1(B) 1(C) 8(D) 024、若运行以下程序时,从键盘输入 ADescriptorCR (CR表示回车) ,则下面程序的运行结果是( D )#includevoid main()char c;int v0=0,v1=0,v2=0;doswitch(c=getchar()case a: case A:case e: case E:case i: case I:case o: case O:case u: case U: v1+

8、=1;default: v0+=1; v2+=1;while(c!=n);printf(“v0=%d,v1=%d,v2=%dn“,v0,v1,v2);(A) v0=7,v1=4,v2=7(B) v0=8,v1=4,v2=8(C) v0=11,v1=4,v2=11(D) v0=12,v1=4,v2=1225、下面程序的运行结果是( B )#includevoid main()int a=1,b=10;do b-=a; a+; while(b-+y;x=i+) i=x;(B) for( ; ; x+=i);(C) while(1)x+;(D) for(i=10; ;i-) sum+=i;31、下面

9、程序段的运行结果是( C )for(y=1;y100) break;(B) for( ; ; );(C) int k=0;do+k;while(k=0);(D) int s=36;while(s); -s;34、执行语句 for(i=1;i+void main()int i;for(i=100;ivoid main()int i,sum=0;for(i=1;ivoid main()int a,b,c,i;a=c=0;for(i=0;ivoid main()int i;for(i=1;ivoid main()int x,i;for(i=1;ivoid main()int x,y,z,i,resu

10、lt=532;for(x=1; xvoid main()int a,d,i,s,f,x;/* a 是第一项 */for(a=1;avoid main()int i,b,k=0;for(i=1;i=0) k+;printf(“%d,%d“,k,b);(A) 3,-1(B) 8,-1(C) 3,0(D) 8,-244、以下正确的描述是( B )(A) continue 语句的作用是结束整个循环的执行(B) 只能在循环体内和 switch 语句体内使用 break 语句(C) 在循环体内使用 break 语句或 continue 语句的作用相同(D) 从多层循环嵌套中退出时,只能使用 goto 语句

11、45、下面程序段( D )for(t=1;t=0 时什么也不输出(C) printf 函数永远也不执行(D) 最多允许输出 100 个非负整数46、下面程序段( C )x=3;doy=x-;if(!y)printf(“x“); continue;printf(“#“);while(1#includevoid main()int a,b,c,d;scanf(“%d“,for(b=3;bsqrt(b) d= ; else continue;for(c=2;csqrt(d) printf(“%d=%d+%dn“,a,b,d);(A) a+b(B) a-b(C) a*b(D) a/b51、下面程序的运

12、行结果是( D )#includevoid main()int k=0; char c=A;doswitch(c+)case A: k+; break;case B: k-;case C: k+=2; break;case D: k=k%2; continue;case E: k=k*10; break;default: k=k/3;while(c#includevoid main()float x,y,z;scanf(“%f,%f“,z=x/y;while(1)if(fabs(z)1.0) x=y;y=z;z=x/y;else break;printf(“%fn“,y);(A) 1.5000

13、00(B) 1.600000(C) 2.000000(D) 2.40000053、下面程序的运行结果是( B )#includevoid main()int a,b;for(a=1,b=1;a=20) break;if(b%3=1) b+=3; continue;b-=5;printf(“%dn“,a);(A) 7(B) 8(C) 9(D) 1054、下面程序的运行结果是( B )#includevoid main()int i,j,x=0;for(i=0;i=0_pi=0; /doublewhile(i*ivoid main()int day,x1,x2;day=0; x1=1020;whi

14、le(_)x2=_;x1=x2;day+; /x10 x1/2-2 此题不妥,西瓜数有可能剩下奇数个printf(“day=%dn“,day);60、下面程序的功能是用“辗转相除法”求两个正整数的最大公约数。请填空。#includevoid main()int r,m,n;scanf(“%d%d“,if(mvoid main()char c;while(c=getchar()!=?) putchar(+c);62、下面程序的运行结果是_。 /254#includevoid main()int a,s,n,count;a=2; s=0; n=1; count=1;while(countvoid

15、main()int v1=0,v2=0;char ch;while(ch=getchar()!=#)switch(ch)case a:case h:default: v1+;case o: v2+;printf(“%d,%dn“,v1,v2);64、执行下面程序段后,k 值是_。 /36int k=1,n=263;do k*=n%10; n/=10;while(n);65、下面程序段中循环体的执行次数是_。 /3int a=10;int b=0;dob+=2;a-=2+b;while(a=0);66、下面程序段的运行结果是_。 /*x=2;doprintf(“*“);x-;while(!x=0);67、下面程序段的运行结果是_。 /-5i=1;a=0;s=1;doa=a+s*i;s=-s;i+;while(ivoid main()int i=1;j=0;doif(_) /i%3=2j=j+1;if(_) prin

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号