第五部分循环结构.docx

上传人:b****7 文档编号:10431076 上传时间:2023-02-11 格式:DOCX 页数:24 大小:22.32KB
下载 相关 举报
第五部分循环结构.docx_第1页
第1页 / 共24页
第五部分循环结构.docx_第2页
第2页 / 共24页
第五部分循环结构.docx_第3页
第3页 / 共24页
第五部分循环结构.docx_第4页
第4页 / 共24页
第五部分循环结构.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

第五部分循环结构.docx

《第五部分循环结构.docx》由会员分享,可在线阅读,更多相关《第五部分循环结构.docx(24页珍藏版)》请在冰豆网上搜索。

第五部分循环结构.docx

第五部分循环结构

第五部分:

循环结构

一、选择题

(1)有以下程序段

  int n,t=1,s=0;

  scanf("%d",&n);

  do{ s=s+t;  t=t-2; }while(t!

=n);

为使此程序段不陷入死循环,从键盘输入的数据应该是

  A)任意正奇数 

  B)任意负偶数 

  C)任意正偶数 

  D)任意负奇数

(2)设变量已正确定义,则以下能正确计算f=n!

的程序段是

  A) f=0;              B) f=1;

    for(i=1;i<=n;i++)f*=i;      for(i=1;i

  C) f=1;              D) f=1;

    for(i=n;i>1;i++)f*=i;        for(i=n;i>=2;i--)f*=i;

(3)有以下程序

 main()

 {int k=5,n=0;

  while(k>0)

  { switch(k)

     { default :

 break;

        case 1 :

 n+=k;

        case 2 :

        case 3 :

 n+=k;

     }

    k--;

  }

  printf("%d\n",n);

 }

程序运行后的输出结果是

  A)0   

  B)4   

  C)6   

  D)7

(4)有以下程序

main()

{

  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);

}

程序运行后的输出结果是             

  A)3

  B)4

  C)5

  D)6

(5)有以下程序

main()

{int s=0,a=1,n;

scanf("%d",&n);

do

{ s+=1;   a=a-2; }

while(a!

=n);

printf("%d\n",s);

}

 若要使程序的输出值为2,则应该从键盘给n输入的值是

  A)-1       

  B)-3       

  C)-5       

  D)0

(6)若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)

s=a;

for(b=1;b<=c;b++)s=s+1;

则与上述程序段功能等价的赋值语句是

  A)s=a+b;     

  B)s=a+c;    

  C)s=s+c;       

  D)s=b+c;

(7)有以下程序

main()

{int k=4,n=4;

for(;n

{ n++;

if(n%3!

=0) continue;

k--;}

printf("%d,%d\n",k,n);

}

程序运行后的输出结果是

  A)1,1      

  B)2,2      

  C)3,3       

  D)4,4

(8)要求以下程序的功能是计算:

 

main()

{int n;  float  s;

s=1.0;

for(n=10;n>1;n--)

s=s+1/n;

print("%6.4f\n",s);

}

程序运行后输出结果错误,导致错误结果的程序行是

  A)s=1.0;               

  B)for(n=10;n>1;n--)

  C)s=s+1/n;            

  D)printf("%6.4f/n",s);

(9)有以下程序

main()

{ int i;

 for(i=0;i<3;i++)

  switch(i)

  { case 1:

 printf("%d",i);

   case 2:

 printf("%d",i);

   default:

 printf("%d",i);

  }

}

执行后输出结果是

  A)011122   

  B)012   

  C)012020   

  D)120

(10)有以下程序

main()

{ int i=0,s=0;

do{

if(i%2){i++;continue;}

i++;

s+=i;

}while(i<7);

 printf("%d\n",s);

}

执行后输出结果是

  A)16 

  B)12 

  C)28  

  D)21

(11)以下程序的功能是:

按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:

main()

{  intn,k;

floatscore,sum,ave;

sum=0.0;

for(n=1;n<=10;n++)

{  for(k=1;k<=4;k++)

{  scanf(“%f”,&score); sum+=score;}

ave=sum/4.0;

printf(“NO%d:

%f\n”,n,ave);

  }

}

上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。

这条语句是

  A)sum=0.0;           

  B)sum+=score;

  C)ave=sun/4.0;     

  D)printf(“NO%d:

%f\n”,n,ave);

 (12)有以下程序段

intn=0,p;

do{scanf(“%d”,&p);n++;}while(p!

=12345&&n<3);

此处do—while循环的结束条件是

  A)P的值不等于12345并且n的值小于3

  B)P的值等于12345并且n的值大于等于3

  C)P的值不等于12345或者n的值小于3

  D)P的值等于12345或者n的值大于等于3

(13)以下程序中,while循环的循环次数是

main()

{int i=0;

while(i<10)

{  if(i<1)  continue;

if(I==5) break;

      i++;

}

......

}

  A)1                       

  B)10

  C)6                           

  D)死循环,不能确定次数

(14)以下程序的输出结果是

main()

{int a=0,i;

for(i=;i<5;i++)

{ switch(i)

{case0:

case3:

a+=2;

case1:

case2:

a+=3;

default:

a+=5;

}

}

printf("%d\n",a);

}

  A)31   

  B)13   

  C)10   

  D)20

(15)以下程序的输出结果是

#include  

main()

{int i=0,a=0;

while(i<20)

{ for(;;)

{if((i)==0) break;

else      i--;

}

i+=11;     a+=i;

}

printh("%d\n",a);

}

  A)21             

  B)32       

  C)33          

  D)11

(16) t为int类型,进人下面的循环之前,t的值为0

while(t=l)

{ ……  }

则以下叙述中正确的是

  A)循环控制表达式的值为0  

  B)循环控制表达式的值为1

  C)循环控制表达式不合法   

  D)以上说法都不对

(17)以下程序的输出结果是

main()

{  int  num=0;

while(num<=2)

{ num++; printf(“%d\n”,num);

}

  A)1  B)1   C)1   D)l

   2     2        2

     3     3

    4

(18)以下程序的输出结果是

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

(19)有以下程序段

int k=0

while(k=1)k++;

while 循环执行的次数是

  A)无限次       

  B)有语法错,不能执行

  C)一次也不执行      

  D)执行1次

(20)以下程序执行后sum的值是

  A)15             

  B)14    

  C)不确定    

  D)0

min()

{int i, sum;

 for(i=1;i<6;i++)sum+=i;

 printf(“%d\n”,sum);

}

(21)有以下程序段

int x=3

do

{  printf(“%d”,x-=2);  }

while(!

(--x));

其输出结果是

  A)中1              

  B)3 0    

  C)1 -2    

  D)死循环

(22)有如下程序

main0

{   int   i,sum;

for(i=1;i<=3;sum++)  sum+=i;

printf(“%d\n”,sum);

}

该程序的执行结果是

  A)6              

  B)3              

  C)死循环        

  D)0

(23)有如下程序

main0

{   int   x=23;

do

{  printf(“%d”,x--);}

while(!

x);

}

该程序的执行结果是

  A)321            

  B)23           

  C)不输出任何内容  

  D)陷入死循环

(24)有如下程序

main0

{    int   n=9;

while(n>6)  {n--;printf(“%d”,n);}

}

该程序段的输出结果是

  A)987            

  B)876            

  C)8765          

  D)9876

(25)以下循环体的执行次数是

  A)3         B)2               C)1            D)0

    main()

    {inti,j;

          for(i=0,j=1; i<=j+1;i+=2,j--)printf("%d\n",i);

    }

(26)以下叙述正确的是

  A)do-while语句构成的循环不能用其它语句构成的循环来代替。

  B)do-while语句构成的循环只能用break语句退出。

  C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。

  D)用do-while语句构成的循环,在while后的表达式为零时结束循环。

(27)以下程序段的执行结果是

  A)a=12y=12                     B)a=12y=12

        a=14y=16                         a=16y=28

        a=16y=20

        a=18y=24

  C)a=12y=12                     D)a=12y=12

                                             a=14y=26

                                             a=14y=44

       int a,y;

       a=10;y=0;

       do

       {a+=2;y+=a;

         printf("a=%dy=%d\n",a,y);

         if(y>20)break;

       {while(a=14);

(28)以下程序的输出结果是

  A)10192  

  B)9876  

  C)10990  

  D)101091

     main(  )

    {    int   x=10,y=10,I;

          for(i=0;x>8;y=++i)

             printf("%d,%d",x--,y);

    }

(29)以下程序的输出结果是

  A)2 0   

  B)3 1   

  C)3 2 1   

  D)2 1 0

     main( )

     {     int  n=4;

            while(n--)printf("%d",--n);

     }

(30)以下程序的输出结果是

  A)#*#*#   

  B)#####    

  C)*****  

  D)*#*#*

  main( )

  { int i;

     for(i=1;i<6;i++)

     {  if(i%2){printf("#");continue;}

         printf("*");

     }

     printf("\n");

  }

(31)执行以下程序段时

  A)循环体将执行一次               

  B)循环体将执行两次

  C)循环体将执行无限次             

  D)系统将提示有语法错误

         X=-1;

         do {x=x*x;   }  while(!

x);

(32)执行以下程序后,输出的结果是

  A)-1           B)1             C)8             D)0

       main()

       {  int y=10;

           do {y--;} while(--y);

       printf("%d\n",y--);

       }

(33)在下列选项中,没有构成死循环的程序段是

  A)int i=100                          B) for(;;);

       while

(1)

       { i=i0+1;

         if(i>100)break;

       }

  C)intk=1000;                         D) int   s=36;

       do{++k;}while(k>=10000);             while(s);--s;

(34)执行语句:

  for(i=l:

i++<4:

);后,变量i的值是

  A)3            

  B)4             

  C)5             

  D)不定

(35)以下程序的输出结果是

  A)x=4          B)x=8           C)x=6           D)x=12

       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);

      }

(36)运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为:

  A)m=3          B)m=2           C)m=1      D)m=1

       main()

      { int   m,n;

         printf("Enterm,n;");  scanf("%d%d",&m,&n):

         while(m!

=n)

         {while(m>n)m-=n;

           while(n>m)n-=m;

         }

         printf("m=%d\n",m);

      }

(37)设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;

    }

  A)2       B)4        C)6              D)8

(38)假定a和b为int型变量,则执行以下语句后b的值为

a=1;   b=10;

do

{   b-=a;   a++; }

while(b--<0);

  A)9              B)-2               C)-1              D)8

(39)设j为int型变量,则下面for循环语句的执行结果是

    for(j=10;j>3;j--)

       { if(j%3)j--;

        --j;   --j;

        printf("%d ",j);

       }

  A)6  3        

  B)7 4          

  C)6 2          

  D)7 3

(40)若ij已定义为int类型,则以下程序段中内循环体的总的执行次数是

    for(i=5;i;i--)

       for(j=0;j<4;j++){...}

  A)20         

  B)25    

  C)24             

  D)30

(41)执行下面的程序后,a的值为

main()

{  inta,b;

for(a=1,b=1;a<=100;a++)

{    if(b>=20)break;

if(b%3==1) {b+=3; continue;}

b-=5;        }    }

  A)7         

  B)8         

  C)9         

  D)10

(42)以下程序段的输出结果是

intx=3;

   do {   printf("=",x-=2);} while(!

(--x));

  A)1         

  B)30       

  C)1-2        

  D)死循环

(43)定义如下变量:

intn=10;则下列循环的输出结果是

while(n>7)

{  n--;  

printf("%d\n",n);       }

  A)10        B)9         C)10        D)9

        9             8                 9              8

           8             7                 8              7

    7              6

(44)下面的程序

  A)输出的是1      

  B)输出的是1和-2 

  C)输出的是3和0  

  D)是死循环

main()

{intx=3;

do{

printf("%d\n",X-=2);

}while(!

(--x));}

(45)下面程序的输出是

  A)741          

  B)852           

  C)963           

  D)875421

main()

{inty=9;

for(;y>0;y--)

{if(y%3==0)

{printf("%d",--y);continue;}

}.

}

(46)若x是int型变量,且有下面的程序片段:

for(x=3;x<6;x++)printf((x%2)?

("**%d"):

("##%d\n"),x);

上面程序片段的输出结果是

  A)**3          B)##3           C)##3           D)**3##4

   ##4               **4                **4##5              **5

   **5               ##5

(47)请读程序片段:

#include

main()

{inta,b;

for(a=1;b=1;a<=100;a++)

{if(b>=20)break;

if(b%3==1)

{b+=3;

continue;

}

b-=5;

}

printf("%d\n",a);

}

上面程序的输出结果是

  A)7            

  B)8            

  C)9             

  D)10

(48)请读程

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1