南昌大学C++第六章.docx

上传人:b****5 文档编号:5612405 上传时间:2022-12-29 格式:DOCX 页数:23 大小:20.08KB
下载 相关 举报
南昌大学C++第六章.docx_第1页
第1页 / 共23页
南昌大学C++第六章.docx_第2页
第2页 / 共23页
南昌大学C++第六章.docx_第3页
第3页 / 共23页
南昌大学C++第六章.docx_第4页
第4页 / 共23页
南昌大学C++第六章.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

南昌大学C++第六章.docx

《南昌大学C++第六章.docx》由会员分享,可在线阅读,更多相关《南昌大学C++第六章.docx(23页珍藏版)》请在冰豆网上搜索。

南昌大学C++第六章.docx

南昌大学C++第六章

 第6章循环控制

1、设变量已正确定义,则以下能正确计算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;    

 

[D]  教师批改:

D

2、有以下程序

 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

 

[D]  教师批改:

D

3、有以下程序

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

 

[B]  教师批改:

B

4、有以下程序

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

 

[B]  教师批改:

B

5、若有如下程序段,其中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;

 

[B]  教师批改:

B

6、有以下程序

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

 

[C]  教师批改:

C

7、要求以下程序的功能是计算:

 

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

 

[C]  教师批改:

C

8、有以下程序

main()

{ inti;

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

 switch(i)

 {case1:

printf("%d",i);

  case2:

printf("%d",i);

  default:

printf("%d",i);

 }

}

执行后输出结果是

 A)011122

 B)012

 

 C)012020

 D)120

 

[A]  教师批改:

A

9、有以下程序

main()

{inti=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

 

[A]  教师批改:

A

10、以下程序的功能是:

按顺序读入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);

 

[A]  教师批改:

A

11、有以下程序段

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

 

[D]  教师批改:

D

12、以下程序中,while循环的循环次数是

main()

{int i=0;

while(i<10)

{  if(i<1)  continue;

if(I==5) break;

      i++;

}

......

}

 A)1

 B)10

 

 C)6

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

 

[D]  教师批改:

D

13、以下程序的输出结果是

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

 

[A]  教师批改:

A

14、以下程序的输出结果是

#include  

main()

{int i=0,a=0;

while(i<20)

{ for(;;)

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

else       i--;

}

i+=11;     a+=i;

}

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

}

 A)21

 B)32

 

 C)33

 D)11

 

[B]  教师批改:

B

15、t为int类型,进人下面的循环之前,t的值为0

while(t=l)

{……  }

则以下叙述中正确的是

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

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

 

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

 D)以上说法都不对

 

[D]  教师批改:

B

16、以下程序的输出结果是

main()

{  int  num=0;

while(num<=2)

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

}

 A)1

  2

  3

  4     B)1

  2

  3

 C)1

  2     D)1

 

[B]  教师批改:

B

17、以下程序的输出结果是

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

 

[D]  教师批改:

D

18、有以下程序段

int k=0

while(k=1)k++;

while 循环执行的次数是

 A)无限次

 B)有语法错,不能执行

 

 C)一次也不执行

 D)执行1次

 

[A]  教师批改:

A

19、以下程序执行后sum的值是

min()

{int i, sum;

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

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

}

 A)15

 B)14

 

 C)不确定

 D)0

 

[C]  教师批改:

C

20、有以下程序段

int x=3

do

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

while(!

(--x));

其输出结果是

 A)中1

 B)3 0

 

 C)1 -2

 D)死循环

 

[C]  教师批改:

C

21、有如下程序

main0

{   int   i,sum;

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

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

}

该程序的执行结果是A)6 B)3 

C)死循环 D)0 

[C]  教师批改:

22、有如下程序

main0

{   int   x=23;

do

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

while(!

x);

}

该程序的执行结果是A)321 B)23 

C)不输出任何内容 D)陷入死循环 

[B]  教师批改:

23、有如下程序

main0

{    int   n=9;

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

}

该程序段的输出结果是A)987 B)876 

C)8765 D)9876 

[B]  教师批改:

24、以下循环体的执行次数是

    main()

    {inti,j;

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

    }A)3 B)2 

C)1 D)0 

[C]  教师批改:

25、以下叙述正确的是A)do-while语句构成的循环不能用其它语句构成的循环来代替。

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

 

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

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

 

[D]  教师批改:

26、以下程序段的执行结果是

       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);A)a=12y=12

  a=14y=16

  a=16y=20

  a=18y=24 B)a=12y=12

  a=16y=28 

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

  a=14y=26

  a=14y=44 

[B]  教师批改:

27、以下程序的输出结果是

     main(  )

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

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

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

    }A)10192 B)9876 

C)10990 D)101091 

[D]  教师批改:

28、以下程序的输出结果是

     main( )

     {     int  n=4;

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

     }A)2 0 B)3 1 

C)3 2 1 D)2 1 0 

[A]  教师批改:

29、以下程序的输出结果是

   main( )

  { int i;

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

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

         printf("*");

     }

     printf("\n");

  }A)#*#*# B)##### 

C)***** D)*#*#* 

[A]  教师批改:

30、执行以下程序段时

         X=-1;

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

x);A)循环体将执行一次 B)循环体将执行两次 

C)循环体将执行无限次 D)系统将提示有语法错误 

[A]  教师批改:

31、执行以下程序后,输出的结果是

   main()

   {  int y=10;

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

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

   }

 A)-1

 B)1

 

 C)8

 D)0

 

[D]  教师批改:

D

32、在下列选项中,没有构成死循环的程序段是

 A)int i=100

  while

(1)

  { i=i%100+1;

     if(i>100)break;

  }     B)for(;;);

 

 C)intk=1000;

  do{++k;}while(k>=10000);  D)ints=36;

  while(s);--s;

[C]  教师批改:

C

33、执行语句:

  for(i=l:

i++<4:

);后,变量i的值是

 A)3

 B)4

 

 C)5

 D)不定

 

[C]  教师批改:

C

34、以下程序的输出结果是

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

      }

 A)x=4

 B)x=8

 

 C)x=6

 D)x=12

 

[B]  教师批改:

B

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

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

      }

 A)m=3

 B)m=2

 

 C)m=1

 D)m=1

 

[C]  教师批改:

C

36、设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

 

[C]  教师批改:

C

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

  a=1;b=10;

  do{b-=a;   a++; }while(b--<0);

 A)9

 B)-2

 

 C)-1

 D)8

 

[D]  教师批改:

D

38、设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

 

[B]  教师批改:

B

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

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

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

 A)20

 B)25

 

 C)24

 D)30

 

[A]  教师批改:

A

40、执行下面的程序后,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

 

[B]  教师批改:

B

41、以下程序段的输出结果是

 intx=3;

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

(--x));A)1 B)30 

C)1-2 D)死循环 

[C]  教师批改:

42、下面的程序

main()

{intx=3;

 do{

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

 }while(!

(--x));

}A)输出的是1 B)输出的是1和-2 

C)输出的是3和0 D)是死循环 

[B]  教师批改:

43、下面程序的输出是

main()

{inty=9;

 for(;y>0;y--)

 {if(y%3==0)

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

  }

}A)741 B)852 

C)963 D)875421 

[B]  教师批改:

44、若x是int型变量,且有下面的程序片段:

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

("**%d"):

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

上面程序片段的输出结果是A)**3          

  ##4      

  **5 B)##3           

  **4

  ##5 

C)##3           

  **4##5 D)**3##4

  **5 

[D]  教师批改:

45、请读程序片段:

#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 

[B]  教师批改:

46、请读程序:

#include

main()

{intmun=0;

 while(num<=2)

 {num++;printf("%d\n",num);}

}

上面程序的输出结果是A)1   

  2     

  3                

  4 B)1  

  2       

  3 

C)1  

  2 D)1 

[C]  教师批改:

47、请读程序:

#include

#include

main()

{floatx,y,z;

 scan("%f%f",&x,&y);

 z=x/y;

 while

(1)

 {if(fabs(z)>1.0)

   {x=y;y=z;z=x/y;}

   elsebreak

 }

 printf("%f\n",y);

}

若运行时从键盘上输入3.62.4表示回车),则输出的结果是A)1.500000 B)1.600000 

C)2.000000 D)2.400000 

[B]  教师批改:

48、执行下面程序片段的结果是()

intx=23;

do

{printf("%2d",x--);}

while(!

x);A)打印出321 B)打印出23 

C)不打印任何内容 D)陷入死循环 

[B]  教师批改:

49、语句while(!

E);中的条件!

E等价于() 。

A)E==0 B)E!

=1 

C)E!

=0 D)~E 

[A]  教师批改:

50、C语言中()。

A)不能使用do-while语句构成的循环 B)do-while语句构成的循环必须用break语句才能退出 

C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环 

[D]  教师批改:

51、以下程序的输出结果是()。

  #include

  main()

  { int i;  

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

         if(i%2) printf("*");

         else continue; printf("#");

 

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

当前位置:首页 > 工程科技 > 能源化工

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

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