循环结构程序设计课后习题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
循环结构程序设计习题与答案
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<j ; i++,j-->
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、inti=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<>
{
inti=0,sum=1;
do
{
sum+=i;
i++;
}while<i<5>;
printf<"%d\n",sum>;
}
程序运行结果:
2、
#include"stdio.h"
main<>
{
inta,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<>
{
inti;
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<>
{
charch;
while<<ch=getchar<>>!='!'>
putchar<++ch>;
}
程序运行结果:
7、
#include"stdio.h"
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"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<>
{
inti,j;
for<i=1;i<=5;i++>
{
for<j=1;j<=i;j++>
printf<"%d ",i*j>;
printf<"\n">;
}
}
2.
#include"stdio.h"
main<>
{
inti,j;
for<i=5;i>=1;i-=2>
{
for<j=1;j<=i;j++>
printf<"*">;
printf<"\n">;
}
}
3.
#include"stdio.h"
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"stdio.h"
main<>
{
inti;
for<i=1500;i<=2500;i++>
if<i%4==0&&i%100!=0||i%400==0> printf<"%d ",i>;
}
5.
#include"stdio.h"
main<>
{
floatcj,min,max=0;
printf<"请输入学生成绩,输入负数时结束:\n">; scanf<"%f",&cj>;
min=cj;
while<cj>=0>
{
if<cj>max>
max=cj;
if<cj<min>
min=cj;
scanf<"%f",&cj>;
}
printf<"max=%f\nmin=%f",max,min>;
}。