您的当前位置:首页正文

循环结构程序设计课后习题及答案

2022-10-17 来源:步旅网


循环结构程序设计习题及答案

1、循环语句的三要素分别是 、 、 。

2、for语句括号内的3个表达式的作用分别

是 、 、 。

3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整地 ,只有当 时,才结束整个循环。

4、在循环结构中,break语句的作用是 ;continue语句的作用是 。

5、当循环条件一开始就为假时,对于while语句、do…while语句、for语句,分别执行循环体 次、 次、 次。

6、下面程序段的执行次数:

int a=0;

while(a=0)

{ printf(\"good\\n\");

a--;

}

7、下面程序段的执行次数:

int a=0;

while(a==0)

{ printf(\"good\\n\");

a--;

}

8、下面程序段的执行次数:

int a=1;

while(a=1)

{ printf(\"good\\n\");

a++;

}

9、下面程序段的执行次数:

int a=1;

while(a==1)

{ printf(\"good\\n\");

a++;

}

10、下列程序段的运行结果是 。

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

printf(“%d “,i);

11、下列程序段的运行结果是 。

for(n=1;n<20;n=n+3)

printf(“%d “,n);

12、下列程序段的运行结果是 。

for( ch='a' ;ch<='e' ;ch++)

printf(“%d“,ch-97);

13、下列程序段的运行结果是 。

for(i=1,j=5 ; iprintf(“i=%d j=%d\\n“,i,j);

14、下列程序段的运行结果是 。

for(n=1 ; n*n<20 ; n++)

printf(“%d \\n“,n+n);

二、选择题

1、下列程序段中,死循环的是( )

A、 for (i=1; ;) B、 i=32767;

{ if(++i%2==0) continue; do

if(++i%3==0) break; { if(i<0) break;

} }while(++i);

C、 i=1; D、 for(i=1; ; )

while(i--); if(++i<10) break;

2、下列程序段中,不是死循环的是( A、 int i=10; while(1)

{ i=i%100+1;

if(i>100) break;

} C、int a=0; do { ++a; }while(a>=0);

B、 for( ; 1;)

D、 int x=21;

while(x)

--x;

三、阅读程序,写出程序运行结果。

1、#include\"stdio.h\"

main()

{

int i=0,sum=1;

do

{

sum+=i;

i++;

}while(i<5);

printf(\"%d\\n\

}

程序运行结果:

2、

#include\"stdio.h\"

main()

{

int a,b;

b=10;a=1;

while(a<=b)

a*=2;

printf(\"%d\\n\

}

程序运行结果:

3、

#include\"stdio.h\"

main()

{

int x=2;

while(x--);

printf(\"%d\\n\

}

程序运行结果:

4、

#include\"stdio.h\"

main()

{

int x=3;

do{

printf(\"%d\\n\

}while(!x);

}

程序运行结果:

5、

#include\"stdio.h\"

main()

{

int i;

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

switch(i%5)

{

case 0:printf(\"*\");break;

case 1:printf(\"#\");break;

case 2:printf(\"&\");break;

default:printf(\"\\n\");

}

}

程序运行结果:

6、

#include\"stdio.h\"

main()

{

char ch;

while((ch=getchar())!='!')

putchar(++ch);

}

程序运行结果:

7、

#include\"stdio.h\"

main()

{

int i,j;

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

{

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

if(j==5) break;

if(i<2) continue;

if(i>2) break;

printf(\"j=%d\\n\

}

printf(\"i=%d\\n\

}

程序运行结果:

8、

#include\"stdio.h\"

main()

{

int x ,y;

x=37,y=13;

while(x!=y)

{

if(x>y)

x=x-y;

if(y>x)

y=y-x;

}

printf(\"x=%d\\n\

}

程序运行结果:

四、编程题

1、输出下列图案

1

2 4

3 6 9

4 8 12 16

5 10 15 20 25

2、输出下列图案

*****

***

*

3、编程求2-4+6-8+…-100+102的值。

4、输出公元1500年至2500年所有的闰年的年号。

5、从键盘上输入若干学生的C语言成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。

循环结构程序设计(参考答案)

一、 填空题、

1. 循环条件 循环体 循环控制变量

2. 循环变量赋初值 循环测试条件 循环变量更新

3. 执行整个周期 外层循环条件为假

4. 提前结束包含它的循环语句的执行

提前结束本次循环周期开始执行下一次循环周期

5. 0 1 0

6. 0

7. 1

8. 无数

9. 1

10. 54321

11. 147****1619

12. 01234

13. I=1,j=5

I=2,j=4

14. 1

4

9

16

二、 选择题

1. B

2. D

三、 程序运行结果

1.11

2.16

3.-1

4.1

5.#&

*

6.bgufsoppo

7.i=5

J=3

8.x=1

四、编程题

1.

#include\"stdio.h\"

main()

{

int i,j;

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

{

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

printf(\"%d \

printf(\"\\n\");

}

}

2.

#include\"stdio.h\"

main()

{

int i,j;

for(i=5;i>=1;i-=2)

{

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

printf(\"*\");

printf(\"\\n\");

}

}

3.

#include\"stdio.h\"

main()

{

int i,y=1,s=0;

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

{ s=s+y*i;

y*=-1; (y=-y); }

printf(\"2-4+6+...-100+102=%d\

}

4.

#include\"stdio.h\"

main()

{

int i;

for(i=1500;i<=2500;i++)

if(i%4==0&&i%100!=0||i%400==0)

printf(\"%d \

}

5.

#include\"stdio.h\"

main()

{

float cj,min,max=0;

printf(\"请输入学生成绩,输入负数时结束:\\n\");

scanf(\"%f\

min=cj;

while(cj>=0)

{

if(cj>max)

max=cj;

if(cjmin=cj;

scanf(\"%f\

}

printf(\"max=%f\\nmin=%f\

}

因篇幅问题不能全部显示,请点此查看更多更全内容