《C语言第六章循环结构复习题(共13页).doc》由会员分享,可在线阅读,更多相关《C语言第六章循环结构复习题(共13页).doc(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上循环结构程序设计复习题一选择题1 以下while循环中,循环体执行的次数是:( )k=1;while (-k) k=10; a) 10次 b) 无限次 c) 一次也不执行 d) 1次2 有以下程序段,其中x为整型变量,以下选项中叙述正确的是:( )x=0;while (!x!=0) x+; a) 退出while循环后,x的值为0 b) 退出while循环后,x的值为1 c) while的控制表达式是非法的 d) while循环执行无限次3. 有以下程序段,其中n为整型变量,执行后输出结果是:( ) n=20; while(n-); printf(“%d”,n); a)
2、2 b) 10 c) -1 d) 04. 有以下程序段,其中t为整型变量,以下选项中叙述正确的是:( )t=1;while (-1) t-; if(t) break; a) 循环一次也不执行 b) 循环执行一次 c) 循环控制表达式(-1)不合法 d) 循环执行2次5. 有以下程序段,其中x为整型变量,以下选项中叙述正确的是:( )x=-1;do;while (x+); printf(“x=%d”,x); a) 该循环没有循环体,程序错误 b) 输出x=1 c) 输出x=0 d) 输出x=-16. 有以下程序段,其中x,y为整型变量,程序输出结果是:( ) for(x=0,y=0;(x=1)&
3、(y=1);x+,y-) ; printf(“x=%d,y=%d”,x,y); a) x=2,y=0 b) x=1,y=0 c) x=1,y=1 d) x=0,y=0解析:在开始时 x=0,y=0;进入循环判断(x=1)&(y= 1) 条件成立,同时把1赋给y,此时x=0,y=1;然后执行 x+,y-,执行之后x=1,y=0;再进入循环判断(x=1)&(y= 1),条件成立,同时同时把1赋给y,此时x=1,y=1;然后执行 x+,y-,执行之后x=2,y=0;再进入循环判断(x=1)&(y= 1),条件不成立,跳出循环输出x=2,y=0 。7. 有以下程序: main() int x=0,y=
4、0; while(x5&+y) y-,x+; printf(“%d,%d”,y,x);程序的输出结果是:( ) a) 0,5 b) 1,5 c) 0,4 d) 1,48. 有以下程序: main() int num=0; do num+;printf(“%dn”,num); while(num=2);程序的输出结果是:( ) a) 1 b) 1 c) 1 d) 1 2 2 2 3 3 49. 有以下程序: main() int x=3; do printf(“%d”,x-=2); while(!(-x); 程序的输出结果是:( )a) 1 b) 3 0 c) 1 -2 d) 死循环10. 有以
5、下程序: main() int y=10; do y-; while(-y); printf(“%dn”,y-);程序的输出结果是:( )a) 1 b) -1 c) 8 d) 011. 有以下程序: main() int x=3,y; do y=-x;if(!y) printf(“x”);else printf(“y”); while(x); 程序的输出结果是:( )a) xyx b) yyx c) yxx d) yxy12. 有以下程序段,此处do-while循环的结束条件是:( )int n=0,p;do scanf(“%d”,&p);n+; while (p!=12345&nb) t=a
6、;a=b;b=t; printf(“%d,%dn”,a,b);程序的输出结果是:( )a) 4,1 b) 1,4 c) 4,-1 d) -1,414. 有以下程序: main() int x=3,y=0; do while(!y) y=-x; while(x-); printf(“%d,%dn”,x,y);程序的输出结果是:( )a) -1,3 b) -1,-3 c) 0,0 d) 1,-315. 有以下程序: main() int m,n; printf(“Enter m,n:”); scanf(“%d%d”,&m,&n); while(m!=n) while(mn) m-=n;while(
7、nm) n-=m; printf(“m=%dn”,m);程序的输出结果是:( )a) m=3 b) m=2 c) m=1 d) m=016. 有以下程序: main() int i,s=1; for(i=1;i=50;i+) if(!(i%5)&!(i%3) s+=i; printf(“%dn”,s);程序的输出结果是:( )a) 409 b) 277 c) 1 d) 9117. 有以下程序: main() int x=0,y=0,i; for(i=1;+i) if(i%2=0) x+;continue;if(i%5=0) y+;break; printf(“%d,%d”,x,y);程序的输出
8、结果是:( )a) 2,1 b) 2,2 c) 2,5 d) 5,218. 有以下程序: main() int i=0,a=0; while(i30)for(;)if(i%10)=0) break;else i-;i+=11; a+=i; printf(“%dn”,a);程序的输出结果是:( )a) 66 b) 63 c) 33 d) 3219. 有以下程序: main() int a,b; for(a=1,b=1;a=10) break;if(b%3=1) b+=3; continue; printf(“%dn”,a);程序的输出结果是:( )a) 101 b) 6 c) 5 d) 420.
9、 有以下程序: main() int i=0; for(i+=3;i=5;i=i+2) switch(i%5) case 0: printf(“*”);case 1: printf(“#”); break;default: printf(“!”); break;case 2: printf(“&”);程序的输出结果是:( )a) *# b) !& c) !*# d) *#*二填空题1要求使以下程序段输出10个整数,请填空。for(i=0;i=_18_;printf(“%dn”,i+=2);2. 执行下面程序段后,k的值是_0_。r=1; n=203; k=1;do k*=n%10*r; n/=
10、10; r+; while(n);3. 下面程序的输出结果是_ 1 2 5 10_。 main() int i,x=10; for(i=1;i=x;i+) if(x%i=0) printf(“%d ”,i);4. 下面程序的输出结果是_无定值_。 main() int i,sum; for(i=1;i6;i+) sum+=i; printf(“%d”,sum);5. 下面程序的输出结果是_20_。 main() int i,sum=0; for(i=2;i=0;i-) for(j=1;j=i;j+) printf(“*”);for(j=0;j=2-i;j+) printf(“!”);print
11、f(“n”); 7. 下面程序的输出结果是_1,1_。 main() int i,j=0,a=0; for(i=0;i5;i+) do if(j%3) break;a+; j+; while(j0;) if(x%3=0) printf(“%d”,-x); continue; x-; 9. 下面程序的输出结果是_*#_。 main() int i,j=2; for(i=1;i=2*j;i+) switch(i/j) case 0: case 1: printf(“*”); break;case 2: printf(“#”); 三操作题1计算1到10之间的奇数之和以及偶数之和。2输出100以内能被3整除且个位数为6的所有整数。3找出2至99之间的全部同构数。同构数是这样一组数:它出现在其平方数的右边,例如,5是25右边的数,25是625右边的数,5和25都是同构数。4根据以下近似公式求值。 5根据以下公式求S的值。 6根据以下公式求S的值。 专心-专注-专业