补充练习第三章流程控制.docx

上传人:b****3 文档编号:4865993 上传时间:2022-12-11 格式:DOCX 页数:17 大小:22.60KB
下载 相关 举报
补充练习第三章流程控制.docx_第1页
第1页 / 共17页
补充练习第三章流程控制.docx_第2页
第2页 / 共17页
补充练习第三章流程控制.docx_第3页
第3页 / 共17页
补充练习第三章流程控制.docx_第4页
第4页 / 共17页
补充练习第三章流程控制.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

补充练习第三章流程控制.docx

《补充练习第三章流程控制.docx》由会员分享,可在线阅读,更多相关《补充练习第三章流程控制.docx(17页珍藏版)》请在冰豆网上搜索。

补充练习第三章流程控制.docx

补充练习第三章流程控制

补充练习第三章流程控制

 

第三章流程控制

一、单项选择题:

1.两次运行下面的程序,如果从键盘上分别输入6和4,输出的结果是       。

           main()

 {intx;

       scanf(“%d”,&x);

       if(x++>5)

           printf(“%d”,x);

       else

           prinf(“%d\n”,x--);

 }

   2.设a为整型变量,不能正确表达数学关系:

10

       A.10

       C.a>10&&a<15         D.!

(a<=10)&&!

(a>=15)

   3.在以下一组运算符中,优先级最高的是          。

      A.<=        B.=           C.%        D.&&

  4.设a,b,c都是int型变量,且a=3,b=4,c=5,则下面表达式中,值为0的表达式是       。

       A.’a’&&’b’    B.a<=b      C.c||+c&&b-c  D.!

((a

c||1)

  5.在C语言的if语句中,用作判断的表达式为             。

       A.关系表达式   B.逻辑表达式     C.算术表达式    D.任意表达式

  6.在以下运算符中,优先级最高的运算符是             。

       A.<=          B./             C.!

=             D.&&

  7.假设所有变量均为整型,表达式(a=2,b=5,a>b?

a++:

b++,a+b)的值是:

             。

       A.7            B.8               C.9              D.2

  8.在C语言中,能代表逻辑值"真"的是             。

       A.true          B.大于0的数     C.非0整数       D.非0的数 

  9.在以下运算符中,优先级最高的运算符是             。

       A.!

            B.=               C.+              D. ||  

  10.逻辑运算符两侧运算对象的数据类型           。

        A.只能是0或1                  B.只能是0或非0正数         

        C.只能是整型或字符型数据        D.可以是任何类型的数据           

11.当执行以下程序段时,供选择的答案是___________。

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

x);

A.          循环体将执行一次              B.循环体将执行两次

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

12.执行语句:

for(i=1;i++<4;);后,变量i的值,供选择的答案是___________。

A.          3           B.4               C.5             D.不定

 13.以下for循环是:

           

for(x=0,y=0;(y!

=123)&&(x<4);x++);

A. 无限循环     B.循环次数不变      C.执行4次     D.执行3次

14.若i,j已定义为int类型,则以下程序段中

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

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

 内循环体的总的执行次数,供选择的答案是___________。

A.     20          B.24              C.25            D.30

 15.执行下列程序段后,变量i的正确结果,供选择的答案是___________。

inti=10,j=0;

do{ switch(i)

       { case9 :

i++;

          case10:

i++;

          case11:

i++;

          defaut :

i++;

    }

  }while(j);

A.10          B.11              C.12            D.13

16.若a,b均为int型变量,且a=100,则关于循环语句

       for(b=100;a!

=b;++a,b++)printf(“---“);

 的正确说法,供选择的答案是___________。

A.     循环体只执行一次,          B.是死循环,

        C.循环体一次也不执行,         D.输出---.

  17.以下不正确的描述,供选择的答案是___________。

A.     用while和do-while循环时,循环变量初绐化的操作应在循环语句之前完成;

B.     while循环是先判断表达式,后执行循环语句;

C.     do-while和for循环均是先执行循环体语句,后判断表达式;

D.    for,while和do-while循环中的循环体均可以由空语句构成.          

           18.C语言中while和do-while循环的主要区别是           

 A.do-while的循环体至少无条件循环一次.

 B.while的循环控制条件比do-while严格.

 C.do-while允许从外部转到循环体内.

 D.do-while的循环体不能是复合语句.

  19.在下列选项中,没有构成死循环的程序段,供选择的答案是___________。

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

        while

(1)

        {i=i%100+1;

          if(i>100)break;

        }

     C. int  k=1000;                    D. int s=36;

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

  20.以下程序的输出结果是:

            。

      #include  “stdio.h”

      main()

      {  inti;

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

          {if(i%2) printf(“*”);

            elsecontinue;

        printf(“#”);

      }

      printf(“$\n”);

  }

   A.*#*#*#$    B.#*#*#*$    C.*#*#$     D.#*#*$

21.以下程序执行         次

    #include“stdio.h”

    #defineN2

    #defineMN+1

    #defineNUM(M+1)*M/2

    main()

    {inti,n=0;

      for(i=1;i<=NUM;i++){n++;printf(“%d”,n);}

      printf(“\n”);

    }

    A.5             B.6             C.8            D.9

 

二、填空题:

1.表示条件:

10

2.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为                     。

3.为表示关系x³y³z,应使用C语言表达式是                 。

4.表达式:

10!

=9的值是            。

5.能正确表示a³10或a£0的关系表达式是            。

6.若已知a=10,b=20,则表达式!

a

7.为了避免嵌套的条件语句if-else的二义性,C语言规定:

else与     匹配。

8.C语言用          表示逻辑“真”值。

9.当a=3,b=2,c=1时,表达式f=a>b>c的值是          。

10.设y为int型变量,请写出描述“y是奇数”的表达式                    。

11.设x,y,z为int型变量,请写出描述“x或y中有一个小于z”的表达式                    。

12.已知a=7.5,b=2,c=3.6,表达式a>b&&c>a||a

c>b的值是         。

13.while(x)表示while(x          )。

14.break语句表示              。

15.while

(1){…}表示              。

16.执行for(i=1,s=0;i<=100;i++){s+=i;}后,s的值为              。

17.程序:

i=1;s=0;

do{s=s+i;

   i++;}while(i<=100);

     用for语句改写上面的程序段为                                    。

18.程序段:

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

   {scanf(“%d,%d”,&x,&y);

     if(x>y){t=x;x=y;y=-t;}

     printf(“%d %d”,x,y);

   }

      执行该程序段时,若键盘输入5,4回车及1,2回车,则输出结果为           。

19.执行下列语句:

  for(i=1,s=0;i<=2;i++)

     for(j=1;j<=3;j++)

        {s=s+i+j;}

       后,s的值为              。

20.执行下列语句:

scanf(“%c”,&ch);

while(ch!

=’#’)

 {printf(“%c”,ch+1);  scanf(“%c”,&ch); }

      要使得输出结果为cdef,则输入为              。

  21.以下程序当键盘输入12345-1<回车>时,运行结果是:

          

      #include“stdio.h”

      main()

      { intk=0,n;

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

=-1);

         printf(“k=%dn=%d\n”,k,n);

      }

  22.下列程序段的运行结果是:

              

       for(i=4;i<=1;i--)

            for(j=1;j<=i;j++)putchar(‘#’);

  23.下列程序段要求从键盘输入字符,当输入字母为Y时,循环停止,填空.

       while(_______!

=’Y’){......}

 

三、判断题:

1.下面程序 main()

{intx=3,y=0,z=0;

 if(x=y+z)

    printf(“****”);

 else  

    printf(“####”);

}

     执行该程序后输出为####。

(                 )

2.若K是int型变量,且有下面的程序段:

     k=-3

     if(k<=0)printf(“####”)

     else    printf(“&&&&”);

上面程序段的输出结果是####。

(         )

3.设x和y都是int型变量,则以下语句:

x+=y;y=x-y;x-=y;的功能是交换x和y的值。

(          )

4.设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c>d)后n的值为0。

(     )

   5.C语言中无逻辑变量,也无逻辑表达式。

(         )

6.do{……}while(0);程序块至少会执行一次.(     )

7.语句for(i=0;i=10;i++){---};至多循环10次.(     )

8.求一批整数中的最大,最小数分别是多少的程序如下:

(     )

#include “stdio.h”

main()

   {int n,i,max,min,p;

     scanf(“%d%d”,&n,&p);

     for(i=1,max=p,min=p; i

         {scanf(“%d”,&p);

           if(p>max) max=p;

           if(p

         }

     printf(“max=%d,min=%d”,max,min);

          }

9.for(;;)表示无限循环.(     )

10.下面的循环不能正常结束.(     )

      for(s=0,i=1;i<=10;){ s=s+i; i++;}

11.continue语句是终止整个循环的执行.(     )  

   12.对for(表达式1;;表达式3;)可理解为for(表达式1;1;表达式3;)(    )

 13.下列程序段执行循环二次     (    )

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

x);

14.下列程序段能计算s=10!

的值     (    )

     i=1;s=1;

     do{s=s*i;i++;}while(i<=10);

15.下列程序段将输出3和0         (    )

    intx=3;

    do{printf(“%d\n”,x-=2);}while(!

--x));

 

四、程序阅读题:

1.以下程序输出的结果是                  。

main()

  {int m=5;

    if(m++>5)

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

    else

          printf(“%d\n”,m--);

  }

 

2.请读程序:

#include    

#include    

main()

{floatx,y,z;

 scanf(“%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.6 2.4<回车>,则输出结果为            。

3.以下程序的运行结果是               。

      main()

      {intx=1,y=1,z=1;

        y=y+z;x=x+y;

        printf(“%d,”,x

y:

x);

        printf(“%d,”,x

x++:

y++);

        printf(“%d,%d”,x,y);

       }

   4.以下程序的运行结果是               。

      main()

       { intx,y,z;

          x=3;y=z=4;

          printf(“%d,”,(x>=y>=x)?

1:

0);

          printf(“%d\n”,z>=y&&y>=x);

        }

5.下列程序的输出结果为               

  main()

 {   ints=7;

      do{s-=2;}while(s==0);

      printf(“s=%d\n”,s);

 }

6.下列程序段的输出结果为               

   #include“stdio.h”

   main()

   {   ints=0,k;

        for(k=7;k>=0;k--)

            switch(k)

            {   case1:

                 case4:

                 case7:

s++;break;

                 case2:

                 case3:

                 case6:

break;

                 case0:

                 case5:

s+=2;break;

            }

        printf(“s=%d\n”,s);

   }

7.下列程序的输出结果为               

   main()

   { inti,j;

      for(i=4;i>=1;i--)

      {   printf(“*”);

           for(j=1;j<=4-i;j++)printf(“*”);

           printf(“\n”);

       }

    }

8.下列程序的运行结果为               

   main()

   { inti,j,sum,m,n=4;

      sum=0;

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

      { m=1;

         for(j=1;j<=i;j++)m=m*j;

         sum=sum+m;

       }

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

    }

9.阅读下列程序:

  #include    “stdio.h”

  main()

  { char ch;

     while((ch=getchar())!

=’\n’)

      {if(ch>=’A’&&ch<=’Z’) ch=ch+32;

        elseif(ch>=’a’&&ch<=’z’) ch=ch-32;

        printf(“%c”,ch);   

      }

     printf(“\n”);

  }

   执行时,如果从键盘上输入:

ABCdef<回车>,则运行结果是                   。

10.阅读下列程序:

  #include    “stdio.h”

  main()

     {int   y=10;

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

       printf(“%d\n”,y--);

      }

 该程序的运行结果是                    。

11.阅读下列程序:

  #include    “stdio.h”

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

      }

该程序的运行结果是                    。

12.阅读下列程序:

  #include    “stdio.h”

  main()

     {int   v1=0,v2=0; char  ch;

       while((ch=getchar())!

=’#’)

             switch(ch)

                 {case   ‘a’:

                   case   ‘h’:

                   default:

  v1++;

                   case ‘o’:

 v2++;

                 }

       printf(“%d,%d\n”,v1,v2);

      }

  在执行以上程序时,如果从键盘上输入:

china#<回车>,则运行结果是       。

 

五、程序填空题:

1.完成下面给出的部分程序,函数所表示的数学函数关系是:

                0 (x<0)

y =    -1(x=0)

    1  (x>0)

               main()

               {intx,y;

       

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

当前位置:首页 > 人文社科 > 文学研究

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

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