循环结构程序设计课后习题及答案.docx
《循环结构程序设计课后习题及答案.docx》由会员分享,可在线阅读,更多相关《循环结构程序设计课后习题及答案.docx(11页珍藏版)》请在冰豆网上搜索。
循环结构程序设计课后习题及答案
循环结构程序设计习题及答案
1、循环语句的三要素分别是、、。
2、for语句括号内的3个表达式的作用分别是、、。
3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整地,只有当时,才结束整个循环。
4、在循环结构中,break语句的作用是;continue语句的作用是。
5、当循环条件一开始就为假时,对于while语句、do…while语句、for语句,分别执行循环体次、次、次。
6、下面程序段的执行次数:
inta=0;
while(a=0)
{printf("good\n");
a--;
}
7、下面程序段的执行次数:
inta=0;
while(a==0)
{printf("good\n");
a--;
}
8、下面程序段的执行次数:
inta=1;
while(a=1)
{printf("good\n");
a++;
}
9、下面程序段的执行次数:
inta=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=%dj=%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、inti=10;B、for(;1;)
while
(1)
{i=i%100+1;
if(i>100)break;
}
C、inta=0;D、intx=21;
dowhile(x)
{++a;--x;
}while(a>=0);
三、阅读程序,写出程序运行结果。
1、#include""
main()
{
inti=0,sum=1;
do
{
sum+=i;
i++;
}while(i<5);
printf("%d\n",sum);
}
程序运行结果:
2、
#include""
main()
{
inta,b;
b=10;a=1;
while(a<=b)
a*=2;
printf("%d\n",a);
}
程序运行结果:
3、
#include""
main()
{
intx=2;
while(x--);
printf("%d\n",x);
}
程序运行结果:
4、
#include""
main()
{
intx=3;
do{
printf("%d\n",x-=2);
}while(!
x);
}
程序运行结果:
5、
#include""
main()
{
inti;
for(i=1;i<=5;i++)
switch(i%5)
{
case0:
printf("*");break;
case1:
printf("#");break;
case2:
printf("&");break;
default:
printf("\n");
}
}
程序运行结果:
6、
#include""
main()
{
charch;
while((ch=getchar())!
='!
')
putchar(++ch);
}
程序运行结果:
7、
#include""
main()
{
inti,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""
main()
{
intx,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
24
369
481216
510152025
2、输出下列图案
*****
***
*
3、编程求2-4+6-8+…-100+102的值。
4、输出公元1500年至2500年所有的闰年的年号。
5、从键盘上输入若干学生的C语言成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。
循环结构程序设计(参考答案)
一、填空题、
1.循环条件循环体循环控制变量
2.循环变量赋初值循环测试条件循环变量更新
3.执行整个周期外层循环条件为假
4.提前结束包含它的循环语句的执行
提前结束本次循环周期开始执行下一次循环周期
5.010
6.0
7.1
8.无数
9.1
10.54321
11.14710131619
12.01234
13.I=1,j=5
I=2,j=4
14.1
4
9
16
二、选择题
1.B
2.D
三、程序运行结果
5.#&
*
=5
J=3
=1
四、编程题
1.
#include""
main()
{
inti,j;
for(i=1;i<=5;i++)
{
for(j=1;j<=i;j++)
printf("%d",i*j);
printf("\n");
}
}
2.
#include""
main()
{
inti,j;
for(i=5;i>=1;i-=2)
{
for(j=1;j<=i;j++)
printf("*");
printf("\n");
}
}
3.
#include""
main()
{
inti,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""
main()
{
inti;
for(i=1500;i<=2500;i++)
if(i%4==0&&i%100!
=0||i%400==0)
printf("%d",i);
}
5.
#include""
main()
{
floatcj,min,max=0;
printf("请输入学生成绩,输入负数时结束:
\n");
scanf("%f",&cj);
min=cj;
while(cj>=0)
{
if(cj>max)
max=cj;
if(cjmin=cj;
scanf("%f",&cj);
}
printf("max=%f\nmin=%f",max,min);
}