收藏 分销(赏)

C语言循环结构复习题.doc

上传人:精*** 文档编号:3060089 上传时间:2024-06-14 格式:DOC 页数:13 大小:54.04KB 下载积分:8 金币
下载 相关 举报
C语言循环结构复习题.doc_第1页
第1页 / 共13页
C语言循环结构复习题.doc_第2页
第2页 / 共13页


点击查看更多>>
资源描述
循环结构程序设计复习题 一.选择题 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 b) 10 c) -1 d)  0 4. 有以下程序段,其中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=-1 6. 有以下程序段,其中x,y为整型变量,程序输出结果是:( ) for(x=0,y=0;(x<=1)&&(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=0; while(x<5&&++y) y--,x++; printf(“%d,%d”,y,x); } 程序的输出结果是:( ) a) 0,5 b) 1,5 c) 0,4 d) 1,4 8. 有以下程序: main() { int num=0; do { num++ ;printf(“%d\n”,num); } while(num<=2); } 程序的输出结果是:( ) a) 1 b) 1 c) 1 d) 1 2 2 2 3 3 4 9. 有以下程序: main() { int x=3; do { printf(“%d”,x-=2); } while(!(--x)); } 程序的输出结果是:( ) a) 1 b) 3 0 c) 1 -2 d) 死循环 10. 有以下程序: main() { int y=10; do { y--; } while(--y); printf(“%d\n”,y--); } 程序的输出结果是:( ) a) 1 b) -1 c) 8 d) 0 11. 有以下程序: main() { int x=3,y; do { y=--x; if( !y) printf(“x”) ; else printf(“y”) ; } while(x); } 程序的输出结果是:( ) a) xyx b) yyx c) yxx d) yxy 12. 有以下程序段,此处do-while循环的结束条件是:( ) int n=0,p; do {scanf(“%d”,&p);n++;} while (p!=12345&&n<3); a) p的值不等于12345并且n的值小于3 b) p的值等于12345并且n的值大于等于3 c) p的值不等于12345或者n的值小于3 d)   p的值等于12345或者n的值大于等于3 13. 有以下程序: main() { int a,b,t; for(a=3,b=0 ;!a==b ;a--,b++) if(a>b) { t=a;a=b;b=t;} printf(“%d,%d\n”,a,b); } 程序的输出结果是:( ) a) 4,1 b) 1,4 c) 4,-1 d) -1,4 14. 有以下程序: main() { int x=3,y=0; do { while( !y) y=-x; } while(x--); printf(“%d,%d\n”,x,y); } 程序的输出结果是:( ) a) -1,3 b) -1,-3 c) 0,0 d) 1,-3 15. 有以下程序: main() { int m,n; printf(“Enter m,n:”) ; scanf(“%d%d”,&m,&n); while(m!=n) {while(m>n) m-=n; while(n>m) n-=m;} printf(“m=%d\n”,m); } 程序的输出结果是:( ) a) m=3 b) m=2 c) m=1 d) m=0 16. 有以下程序: main() { int i,s=1; for(i=1 ;i<=50 ;i++) if( !(i%5)&& !(i%3)) s+=i; printf(“%d\n”,s); } 程序的输出结果是:( ) a) 409 b) 277 c) 1 d) 91 17. 有以下程序: 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); } 程序的输出结果是:( ) a) 2,1 b) 2,2 c) 2,5 d) 5,2 18. 有以下程序: main() { int i=0,a=0; while(i<30) {for(;;) {if((i%10)==0) break; else i--;} i+=11; a+=i; } printf(“%d\n”,a); } 程序的输出结果是:( ) a) 66 b) 63 c) 33 d) 32 19. 有以下程序: main() { int a,b; for(a=1,b=1 ;a<=100 ;a++) { if(b>=10) break; if(b%3==1) { b+=3; continue; } } printf(“%d\n”,a); } 程序的输出结果是:( ) a) 101 b) 6 c) 5 d) 4 20. 有以下程序: 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(“%d\n”,i+=2)); 2. 执行下面程序段后,k的值是_____0_____。 r=1; n=203; k=1; do {k*=n%10*r; n/=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;i<6;i++) sum+=i; printf(“%d”,sum); } 5. 下面程序的输出结果是_20__。 main() { int i,sum=0; for(i=2;i<10;i++) { if((i%2)!=0) continue; sum+=i;} printf(“%d\n”,sum); } 6. 下面程序的输出结果是 **! *!! __!!!____。 main() { int i,j; for(i=2;i>=0;i--) { for(j=1;j<=i;j++) printf(“*”); for(j=0;j<=2-i;j++) printf(“!”); printf(“\n”); } } 7. 下面程序的输出结果是___1,1____。 main() { int i,j=0,a=0; for(i=0;i<5;i++) do { if(j%3) break; a++; j++; } while(j<10); printf(“%d,%d\n”,j,a); } 8. 下面程序的输出结果是___852____。 main() { int x=9; for(;x>0;) { 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的值。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服