当前位置:文档之家› 循环结构程序的设计课后习题及答案

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

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

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

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

printf(“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;

B、 for( ; 1;)

while(1)

{ i=i%100+1;

if(i>100) break;

}

C、int a=0;

D、 int x=21;

do while(x)

{ ++a; --x;

}while(a>=0);

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

1、#include"stdio.h"

main()

{

int i=0,sum=1;

do

{

sum+=i;

i++;

}while(i<5);

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

}

程序运行结果:

2、

#include"stdio.h"

main()

{

int a,b;

b=10;a=1;

while(a<=b)

a*=2;

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

}

程序运行结果:

3、

#include"stdio.h"

main()

{

int x=2;

while(x--);

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

}

程序运行结果:

4、

#include"stdio.h"

main()

{

int x=3;

do{

printf("%d\n",x-=2);

}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",j);

}

printf("i=%d\n",i);

}

程序运行结果:

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",x);

}

程序运行结果:

四、编程题

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.1 4 7 10 13 16 19

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 ",i*j);

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",y);

}

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 ",i);

}

5.

#include"stdio.h"

main()

{

float cj,min,max=0;

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

scanf("%f",&cj);

min=cj;

相关主题
文本预览
相关文档 最新文档