内容正文:
任务2:实现循环的三种语句
一、while语句
先判断,后执行。
特点
当型循环
循环类型
执行流程
while(表达式)
{
循环体
}
while语句的格式
3
关于while语句几个问题:
1
3
2
当表达式的初值为0时,循环体执行几次?
循环体语句超过一条时怎样处理?
死循环的避免?
例5-1】 编程:求1+2+ …+100的和(用while语句实现)
程序分析:
1)循环的初始状态 i=1;sum=0;
2)循环体 sum=sum+i;i=i+1;
3)循环控制部分 i<=100
请同学们自己写出源程序
【例5-2】 编程:求n!(用while语句实现)
【思考】在该例中,当用户从键盘上输入的n值较大时,s的值可能会超过32767,此时程序的运行会出现怎样的结果?应如何修改程序而确保程序的正确?
【测一测】下面两个程序段的输出结果是多少?
执行结果:死循环
执行结果:101
二、do-while语句
先执行一次循环体,然后再计算表达式的值,若表达式的值为非0,则继续执行一次循环体。重复上述过程,直到表达式的值为0时结束循环。
part 3内容要求学生自学
一般形式
流程图
执行过程
do
{
循环体
}
while(表达式);
三、for语句
for(表达式 1;表达式2;表达式3)
{
循环体
}
一般形式
先判断,后执行
特点
当型循环
循环类型
执行流程
分析下列程序执行结果
s=0;
for(i=1 ; i<=3;i++)
{
s=s+i;
}
printf(“%d”,s);
问?
测一测
s的值是多少?
使用for语句的几点说明
01
表达式1;
while(表达式2)
{
循环体;
表达式3;
}
与下列while语句等价
02
for语句的循环体可以是基本语句,也可以是复合语句,还可以是空语句。
使用for语句的几点说明
03
举例: s=0;
for(i=1;;i++)
{
if(i>50)break;
s+=i;
}
for语句中的表达式可以部分或者全部省略,但分号不能省略。当省略表达式2时,相当于“无限循环”。
04
例如:
for(i=1,sum=0;i<=50;sum+=i,i++);
for后面圆括号内的表达式可以是任意有效的C语言表达式
【例5-4】 编程:求1+2+ …+100的和。
请同学们根据流程图写出源程序。
测一测:
?
仔细分析下列程序段,给出运行结果。
for(i=1;i<=10;i++)
{
sum=sum+i;
i++;
}
printf(“%d,%d”,i,sum);
$