收藏 分销(赏)

c语言循环结构练习.doc

上传人:二*** 文档编号:4463897 上传时间:2024-09-23 格式:DOC 页数:10 大小:140KB 下载积分:5 金币
下载 相关 举报
c语言循环结构练习.doc_第1页
第1页 / 共10页
本文档共10页,全文阅读请下载到手机保存,查看更方便
资源描述
2015-2016(2)循环结构练习题 一、单选题 (共40题,共100分) 1. 以下正确的描述是( ) (2分) A.continue语句的作用是结束整个循环的执行 B.只能在循环体和switch语句体使用break语句 C.在循环体使用break语句或continue语句的作用相同 D.从多层循环嵌套中退出时,只能使用goto语句 .标准答案:B 考生答案: 2. 下面的关键字中,不能够从循环体中跳出循环体外的是() (2分) A.goto B.break C.return D.continue .标准答案:D 考生答案: 3. 以下叙述中错误的是() (2分) A.语句标号是由合法的标识符后面加一个冒号构成 B.goto语句的作用是把程序的执行转向语句标号所在的位置 C.goto语句必须与语句标号在同一个函数 D.结构化程序设计主使用goto语句,使用goto语句的程序可读性强 .标准答案:D 考生答案: 4. 有以下程序段,while 循环执行的次数是() int k=0; while(k=1)k++; (2分) A.无限次 B.有语法错,不能执行 C.一次也不执行 D.执行1次 .标准答案:A 考生答案: 5. 运行以下程序的结果为( ) main() { int num=0; while (num<=2) {num++; printf("%d",num); } } (2分) A.1234 B.123 C.12 D.1 .标准答案:B 考生答案: 6. 下述程序的输出结果是( )。 #include<stdio.h> main() { int Y=100; while(Y--); printf("y=%d",Y); (2分) A.Y=0 B.Y=1 C.Y=随机值 D.Y=-1 .标准答案:D 考生答案: 7. 执行下面的程序后的输出结果为( ) int x,y,z; x=20,y=40,z=15; while(y>x) x+=4,y-=4; z/=2; printf("%d,%d,%d",x,y,z); (2分) A.40,36,30 B.32,8,7 C.32,28,7 D.32,28,7.5 .标准答案:C 考生答案: 8. 以下程序段的输出结果是() int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf("%d,%d,%d\n",x,y,z); (2分) A.3,2,0 B.3,2,-1 C.4,3,-1 D.5,-2,-5 .标准答案:B 考生答案: 9. 下述语句执行后,变量k的值是() int k=1; while(k++<10); (2分) A.10 B.11 C.9 D.此为无限循环,值不定 .标准答案:B 考生答案: 10. 下面程序的运行结果是( )。 main() { int c1=2, c2=0; while(!c2--) printf("%d,%d", c1--, c2); } (2分) A.1,-1 B.不输出任何容 C.2,-1 D.2,0 .标准答案:C 考生答案: 11. 运行以下程序后,如果从键盘上输入china#main( ) { int v1=0,v2=0;  char ch ;  while((ch=getchar())!='#')  switch(ch)  {    case 'a':   case 'h':   default: v1++;   case '0': v2++;  }   printf("%d,%d\n",v1,v2); (2分) A.2,0           B.5,0           C.5,5           D.2,5            .标准答案:C 考生答案: 12. main( ) { int p[7]={11,13,14,15,16,17,18}, i=0,k=0; while(i<7&&p[i]%3)&nbsp; { k =k+ p[i]; i++;  } printf("%d\n", k);  } 执行后输出结果是( ) (2分) A.58            B.53            C.38            D.24             .标准答案:C 考生答案: 13. 有以下程序段: int x=3; do { printf("%d",x-=2);} while(!(--x)); 其输出结果是( ) (2分) A.1             B.30            C.1-2           D.死循环         .标准答案:C 考生答案: 14. 以下叙述正确的是(  ) (2分) A.do-while语句构成的循环不能用其它语句构成的循环来代替。 B.do-while语句构成的循环只能用break语句退出。 C.用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D.用do-while语句构成的循环,在while后的表达式为零时结束循环 .标准答案:D 考生答案: 15. 以下程序段的输出是() int x=7,y=5,z=1; do {  if(!(z%x))    if(!(z%y))    {printf("%d",z);break;}  z++; }while(z!=0); (2分) A.70            B.35            C.105           D.140            .标准答案:B 考生答案: 16. 有以下程序段: int x=23; do { printf("%d",x--);} while(!x); 其输出结果是(  ) (2分) A.321                         B.23                           C.不输出任何容              D.死循环                       .标准答案:B 考生答案: 17. 有以下程序段: int s=0,a=1,n; scanf("%d",&n); do {   s+=1;a=a-2; } while(a!=n); printf("%d\n",s); 若要使程序的输出值为2,则应该从键盘给n输入的值是(  ) (2分) A.-1            B.-3            C.-5            D.0              .标准答案:B 考生答案: 18. 有以下程序段: int i=0,s=0; do {   if(i%2){i++;continue;}   i++;s+=i; } while(i<7); printf("%d\n",s); 其输出结果是(  ) (2分) A.16            B.13            C.28            D.21             .标准答案:A 考生答案: 19. 下列程序段的输出结果是() int i,n=0; for(i=2;i<5;i++) {   do   {    if(i%3)continue;    n++;   }while(!i);   n++; } printf("n=%d\n",n); (2分) A.n=5           B.n=2           C.n=3           D.n=4            .标准答案:D 考生答案: 20. 在C语言的循环语句for,while,do-while语句中,用于直接中断最层循环的语句是() (2分) A.switch        B.continue      C.break         D.if             .标准答案:C 考生答案: 21. 执行以下语句后sum的值为 (   ) int i=10;sum=0; do {sum+=i; i++;} while(i<10); (2分) A.0             B.1             C.11            D.10             .标准答案:D 考生答案: 22. 以下程序段满足什么条件时循环会结束: int n=0,p; do { scanf("%d",&p); n++; }while(p!=12345&&n&lt;3); (2分) A.p的值不等于12345并且n的值小于3 B.p的值等于12345并且n的值大于等于3 C.p的值不等于12345或者n的值小于3 D.p的值等于12345或者n的值大于等于3 .标准答案:D 考生答案: 23. 设j为int型变量,则下面for循环语句的执行结果是(   )      for(j=10;j>3;j--)      { if(j%3) j--;        --j;--j;        printf("%d ",j);      } (3分) A.6 3      B.7 4      C.6 2      D.7 3       .标准答案:B 考生答案: 24. 以下程序的输出结果是(  ) main() { int i,s=0; for (i=1;i<10;i+=2) s+=i+1; printf("%d\n",s); } (3分) A.自然数1到9的累加和          B.自然数1到10的累加和          C.自然数1到9中奇数之和        D.自然数1到10中偶数之和        .标准答案:D 考生答案: 25. 以下程序的输出结果是(  ) main()  {int i;  for(i='A';i<'I';i++,i++)printf("%c",i+32);   printf("\n"); } (3分) A.编译不通过,无输出          B.aceg                         C.acegi                       D.abcdefghi                    .标准答案:B 考生答案: 26. 下述for语句,假定运行时输入的值不是876 int i,x; for(i=0,x=1;i<=9&&x!=876;i++)  scanf("%d",&x); (3分) A.循环10次                    B.循环9次                      C.无限循环                    D.一次也不循环                 .标准答案:A 考生答案: 27. 以下程序段的输出结果是() #include "stdio.h" main() {  int k=4,n;  for(n=0;n<k;n++)  {   if(n%3!=0)continue;  k--;  }  printf("%d,%d",n,k); (3分) A.1,1           B.2,2           C.3,3           D.4,4            .标准答案:C 考生答案: 28. 以下程序执行后sum的值是(  ) main() { int i,sum; for(i=1;i<6;i++) sum+=i; printf("%d\n",sum); } (3分) A.15            B.14            C.不确定        D.0              .标准答案:C 考生答案: 29. 以下程序的输出结果是() main() {  int i=0,s=0;  for(;;)  {   if(i==3||i==5)continue;   if(i==6) break;   i++;   s+=i;  }  printf("%d\n",s); } (3分) A.10                          B.13                           C.21                          D.程序进入死循环               .标准答案:D 考生答案: 30. 下面程序段的输出结果是() int a=1,b; for(b=1;b<=10;b++) {   if(a>=8) break;   if(a%2==1){a+=5;continue;}   a-=3; } printf("%d\n",b); (3分) A.3             B.4             C.5             D.6              .标准答案:B 考生答案: 31. 下列程序的输出结果是(  ) main( ) {    int i, j, m=0, n=0;   for(i=0; i<2; i++)    for(j=0; j<2; j++)     if(j>=i) m=1; n++;   printf("%d\n",n); (3分) A.4             B.3             C.2             D.1              .标准答案:D 考生答案: 32. 下列程序段的输出结果是() int k=0,m=0; int i,j; for(i=0;i<2;i++) {  for(j=0;j<3;j++)    k++;  k-=j; } m=i+j; printf("k=%d,m=%d",k,m); (3分) A.k=0,m=3       B.k=0,m=5       C.k=1,m=3       D.k=1,m=5        .标准答案:B 考生答案: 33. 以下程序的输出结果是 main() { int i,j,x=0;   for(i=0;i<2;i++)   { x++;     for(j=0;j<3;j++)     { if(j%2) continue;      x++;     }     x++;   }   printf("x=%d\n",x); } (3分) A.x=4           B.x=8           C.x=6           D.x=12           .标准答案:B 考生答案: 34. 以下循环体的执行次数是(  ) main() { int i,j;  for(i=0,j=1;i<=j+1;i+=2,j--)     printf("%d \n",i);} (3分) A.3             B.2             C.1             D.0              .标准答案:C 考生答案: 35. 以下程序段的输出结果为()      int x, i;      for(i=1;i<=50;i++)   {     x=i;     if(x%2==0)     {        x++;        if(x%3==0)        {          x++;         if(x%7==0)          { x++;printf("%d ",i);}       }      }   } (3分) A.28            B.27            C.42            D.26             .标准答案:D 考生答案: 36. 以下程序段不是死循环的是( ) (5分) A.int i=100; while(1) { i=i%100+1; if(i>100) break; } B.for(;;) ; C.int k=0; do{++k;} while(k<10); D.int s=36; while(s); --s; .标准答案:C 考生答案: 37. 以下程序的输出结果是(  )  main()  { int i;   for(i=1;i<6;i++)    { if(i%2){printf("#");continue;}     printf("*");    }  } (3分) A.#*#*#         B.#####         C.*****         D.*#*#*          .标准答案:A 考生答案: 38. 以下程序的输出结果是(  )  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);  (3分) A.101           B.6             C.5             D.4              .标准答案:D 考生答案: 39. 设x和y均为int型变量,则执行以下的循环后,y值为 (   ) for(y=1,x=1;y<=50;y++) {   if(x==10)break;   if (x%2==1)   {x+=5;continue;}   x-=3; } (3分) A.2             B.4             C.6             D.8              .标准答案:C 考生答案: 40. 下面程序段的输出结果为() int i,s; s=0; for(i=1;i<101;i++) {   s+=i;   if(s>5) break;  }  printf("s=%d\n",s); (3分) A.5050          B.6             C.5             D.0              .标准答案:B 考生答案: 10 / 10
展开阅读全文

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


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

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

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

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

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服