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

更新时间:2023-11-22 17:57:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第六章 循环控制

一、选择题

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

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=i0+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 (“-\\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; 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; 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”);

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

for ( j=1 ;j<=5;j++) { k=8-i-j; if ( )

printf (“= = = \\n”,i,j,k);

} }

21.下面程序的运行结果是3,1,-1 。

#include main ( ) { int i=5; do {

switch (i%2)

{ case 4: i――; break; case 6: i――; continue; }

i――; i――;

printf (“%d,”, i ); } while (i>0); }

本文来源:https://www.bwwdw.com/article/rygv.html

Top