循环和条件习题.docx

上传人:b****1 文档编号:2478310 上传时间:2022-10-30 格式:DOCX 页数:20 大小:21.87KB
下载 相关 举报
循环和条件习题.docx_第1页
第1页 / 共20页
循环和条件习题.docx_第2页
第2页 / 共20页
循环和条件习题.docx_第3页
第3页 / 共20页
循环和条件习题.docx_第4页
第4页 / 共20页
循环和条件习题.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

循环和条件习题.docx

《循环和条件习题.docx》由会员分享,可在线阅读,更多相关《循环和条件习题.docx(20页珍藏版)》请在冰豆网上搜索。

循环和条件习题.docx

循环和条件习题

C语言程序设计辅导班第5章练习题

一、选择题

51、以下正确的if语句是____

A、if(n>0)printf("%f",n)

printf("%f",-n);

B、if(n>0)

{n=n+m;printf("%f",n);}

elseprintf("%f",-n);

C、if(n>0)

{n=n+m;printf("%f",n);};

elseprintf("%f",-n);

D、if(n>0)

{n=n+m;printf("%f",n)};

elseprintf("%f",-n);

52、以下程序____

    main()

  {intx1=3,x2=0,x3=0;

     if(x1=x2+x3)

printf("****");

else

printf("####"); }

A、输出:

****   B、输出:

####

C、存在语法错误   D、无输出结果

53、为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:

else子句总是与__

A、缩排位置相同的if配对B、其之前最近且不带else的if配对

C、其之前最近的if配对D、第一个if配对

54、若w、x、y、z、k均为int类型变量,则执行下面语句后的k的值是____

    w=1;x=2;y=3;z=4;

    k=(w

w:

x;

    k=(k

k:

y;

    k=(k

k:

z;

A、1   B、2   C、3   D、4

55、下面程序段所表示的数学函数关系是____

    x=-1;

    if(a!

=0)

if(a>0)x=1;

elsex=0;

  -1(a<0)     1(a<0)

A、x=0(a=0)B、x=-1(a=0)

1(a>0)0(a>0)

0(a<0)-1(a<0)

C、x=-1(a=0)   D、x=1(a=0)

1(a>0)0(a>0)

56、以下关于switch语句和break语句的描述中正确的是____

A、在switch语句中必须使用break语句

B、break语句只能用于switch语句体中

C、break语句只能用于循环语句中

D、在switch语句中使用break语句或continue语句的作用相同

57、设有说明:

inta=1,b=0;则执行以下语句后的输出结果是____

  switch(a)

   {case1:

       switch(b)

        {case0:

printf("**0**\n");break;

        case1:

printf("**1**\n");break;

        }

case2:

printf("**2**\n");break;

   }

A、**0**B、**0**

**2**

C、**0**       D、switch语句中存在语法错误

**1**        

**2**

58、设有程序段____

    intx=10;

    while(x=0)

     x=x-1;

A、while循环执行10次 B、循环是无限循环

  C、循环体语句一次也不执行D、循环体语句只执行一次

59、语句while(!

y)中的表达式!

y等价于____

  A、y==0B、y!

=1 C、y!

=0 D、y==1

60、以下关于do-while循环不正确的描述是___

  A、d0-while的循环体至少执行一次

  B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号

  C、在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作

  D、do-while的循环体可以是复合语句

61、设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是____

    for(y=100;x!

=y;++x,y++)

     printf("****\n");

  A、循环体只执行一次  B、是无限循环

  C、循环体一次都不执行

D、for语句中存在语法错误

62、以下程序段中的do-while循环____

    m=-1;

    do

     {m=m*m;

     }while(!

m);

  A、是死循环   B、执行二次 C、执行一次    D、有语法错误

63、以下关于for循环的正确描述是____

  A、for循环只能用于循环次数已经确定的情况

  B、for循环是先执行循环体语句,后判断表达式

  C、在for循环中,不能用break语句跳出循环体

 D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

64、语句for(表达式1;;表达式3)等价于____

  A、for(表达式1;0;表达式3)

  B、for(表达式1;1;表达式3)

 C、for(表达式1;表达式1;表达式3)

  D、for(表达式1;表达式3;表达式3)

65、若k为整型变量,则以下for循环的执行次数是____

    for(k=2;k==0;)

     printf("%d",k--);

  A、无限次 B、0次  C、1次  D、2次

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

    intx=-3;

    do

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

     }while(!

x);

  A、-3D、-3

  B、-2-2

  C、陷入死循环-1

67、执行以下程序段后,y的值是____,x的值是____

    intx=1,y=10;

    do

     {y-=x;

      x++;

     }while(y--<0);

  A、9B、8C、-2D、2 E、4F、3

68、执行以下程序段后a的值是____,b的值是____

  inta,b;

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

   {if(a>=10)break;

   if(a%2==1)

     {a+=5;

    continue;

     }

    a-=3;   }

  A、10B、6C、7D、8E、4

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

  inta,b;

  for(a=1;a<5;a+=2)

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

    printf("%2d",a*b);

    if(b==5)

     printf("\n");

   }

  A、1234   B、1234

36912691215

  C、2346912

  D、234

  6912

  101520

70、以下程序段中是死循环的是____

  A、intn=1;     B、intn=1;

    while(!

n)do{n--;

     n++;}while(n);

  C、intn=1;D、for(n=5;n<1;);

   do{n++;

    }while(n);

71、下面程序的运行结果是____

  main()

  {intm=0;

  while(m<=2)

    {m++;

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

    }

  }

  A、1         B、1

  2

  C、1D、1

  22

  33

  4

72、以下能正确计算1×2×3×…×10的程序段是____

 

 A、doB、do

  {k=1;n=1;{k=1;n=0;

  n=n*k;n=n*k;

     k++;k++;

  }while(k<=10);}while(k<=10);

  C、k=1;n=1;D、k=1;n=0;

  dodo

   {n=n*k;{n=n*k;

k++;k++;

}while(k<=10);}while(k<=10);

73、下面程序的功能是计算1至10之间的奇数之和以及偶数之和。

请选择填空。

  main()

  {intx,y,z,k;

  x=z=0;

  for(k=0;k<=10;k+=2)

  {x+=k;

  ________;

  z+=y;

  }

  printf("偶数之和=%d\n",x);

  printf("奇数之和=%d\n",________);

  }

  ①、A、y=k--B、y=k+1C、y=k++D、y=k-1

  ②、A、z-10B、zC、z-11D、z-y

74、下面程序段的功能是计算1000!

的末尾含有多少个零。

请选择填空。

(提示:

只要算出1000!

中含有因数5的个数即可。

  for(m=0,n=5;n<=1000;n+=5)

  {t=n;

  while(________)

     {m++;t=t/5;}

    } A、t%5B、t=t%5==0

C、t%5==0D、t%5!

=0

75、若有以下程序段:

  for(m=1;m<=100;m++)

  {scanf("%d",&y);

  if(y<0)

  continue;

  printf("%3d",m);}

正确的描述是____

  A、当y<0时整个循环结束

  B、y>=0时什么也不输出

  C、printf函数永远也不执行

  D、最多允许输出100个非负整数

76、以下程序段等价于____

  for(k=100;k<=200;k++)

  {if(k%3==0)

     continue;

  printf("%4d",k);

  }

  A、for(k=100;(k%3)&&k<=200;k++)

  printf("%4d",k);

  B、for(k=100;(k%3)||k<=200;k++)

  printf("%4d",k);

  C、for(k=100;k<=200;k++)

  if(k%3!

=0)printf("%4d",k);

  D、for(k=100;k<=200;k++)

  {if(k%3)

  printf("%4d",k);

  else

  continue;

  break;

  }

二、填空题

20、以下程序的功能是:

输入三个整数n1、n2、n3,按从大到小的顺序进行输出。

请填空。

  main()

  {intn1,n2,n3,temp;

  scanf("%d%d%d",&n1,&n2,&n3);

  if(______)

  {temp=n2;n2=n3;n3=temp;}

  if(______)

  {temp=

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

当前位置:首页 > 求职职场 > 职业规划

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

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