第六章 循环结构(含答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第六章循环控制

一、选择题

1.while (!E);语句中,条件表达式等价于【 A 】。

A. E==0

B. E!=1

C. E!=0

D. E==1

2.下面程序的运行结果是【 C 】。

int n=0;

while(n++<=2);

printf(“%d”,n);

A. 2

B. 3

C. 4

D. 有语法错

3.下面程序段的运行结果是【 A 】。

a=1; b=2; c=2;

while (a

printf (“%d, %d, %d\n”, a, b, c);

A. 1, 2, 0

B. 2, 1, 0

C. 1, 2, 1

D. 2, 1, 1 4.C语言中,while与do-while循环的主要区别是【 A 】。

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

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

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

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

5.对for (表达式1;;表达式3 )可理解为【 B 】。

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

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

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

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

6.以下for循环体执行的次数是 (6) C 。

for (x=0,y=0; (y=123) && (x<4);x++);

A. 为无限次循环

B. 循环次数不定

C. 4次

D. 3次

7.下列不是死循环的是【 D 】。

A. int i=100; while (1) { i=i%100+1;

if (i>100) break; }

B. for ( ;;);

C. int k=0; do {++k;} while (k>=0);

D. int s=36;

while (s);――s;

8.执行语句for (i=1;i++<4;);后i的值为【 C 】。

A. 3

B. 4

C. 5

D. 不定

9.下列程序段的输出结果是【 B 】。

int x=3;

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

A. 1

B. 1 -2

C. 3,0

D. 是死循环

10.以下四个关于C语言的结论中,只有一个是错误的,它是【 D 】。

A. 可以用while语句实现的循环一定可以用for语句实现

B. 可以用for语句实现的循环一定可以用while语句实现

C. 可以用do-while语句实现的循环一定可以用while语句实现

D. do-while语句与while语句的区别仅是关键字“while”出现的地方不同

二、填空题

11.执行下面程序段后,k值是【 36 】。

k=1; n=263;

do

{

k*=n%10;

n/=10 ;

} while(n);

12.鸡兔共有30只,脚共有90个,下面的程序段是计算鸡兔各有多少只

for ( x=1;x<=29;x++ )

{ y=30—x;

if ( x*2+y*4= =90 )

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

}

13.下面程序的运行结果是 x=1,y=20 。

main ( )

{ int i,x,y; i=x=y=0;

do { ++ i;

if(i%2!=0) {x=x+i; i++; }

y=y+i++;

} while(i<=7);

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

}

14.下面程序的运行结果是********# 。

main ( )

{ int i,j=4;

for(i=j;i<=2*j;i++)

switch(i/j)

{ case 0:

case 1: printf (“**”); break;

case 2: printf (“#”);

}

}

15.以下程序段的功能:从键盘输入的字符中统计数字字符的个数,用换行符结束循环。

int n=0,c;c=getchar( );

while ((c!=‘\n’ )

{ if (c>=‘0’&&c<=‘9’ )

n++;

c=getchar( );}

16.下面程序的输出结果是 i=6,k=4 。

main( )

{ int i,j,k=19;

while( i=k-1)

{ k-=3;

if(k%5==0)

{i++;continue;}

else

if(k<5) break;

i ++;

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

}

17.填空完成下面程序,其功能是打印100以内个位数为6且能被3整除的所有数。

main( )

{ int i,j;

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

{ j=i*10+6;

if (j%3= =0 )

continue;

printf(%d”,j);

} }

18.下面程序的运行结果是 2,5,8,11,14

main( )

{ int i=1;

while(i<=15)

if(++i%3!=2)

continue;

else

printf(“%d”,i);

printf(“\n”);

}

19.完善下面程序,其功能是计算100至1000之间有多少个数其各位数字之和是5。

main( )

{ int is,k,count=0;

for(i=100;i<=1000;i++)

{s=0;k=i;

while ( k!=0 )

{

s=s+k%10; k=k/10 。;

}

if (s!=5) continue ;

else count++;

}

printf(%d”,count);

}

20.填空完成下面程序,其功能是从3个红球,五个白球,六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案。

void main( )

{ int i,j,k;

printf(“\n hong bai hei \n”);

相关文档
最新文档