循环结构whiledowhile循环

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

void main()
{ int i,sum=0;
i=1;
do
//在循环开始时不检查条件,先执行一次循环体
sum=sum+i;
i++;
}while(i<=100);
printf(“%d\n”,sum);
}
募集慈善基金10000元,有若干人捐款,每输入一 个人的捐款数后,计算机就输出当时的捐款总和。 当某一次输入捐款数后,总和达到或超过10000元 时,即宣告结束,输出最后的累加值。
绝大多数的应用程序都包含重复处理。
循环结构是用来处理需要重复处理的问题。
循环结构又称为重复结构。
循环结构和顺序结构、选择结构是结构化程序设计 的三种基本结构,它们是各种复杂程序的基本构造 单元。
循环的分类: 无休止的循环:地球围绕太阳旋转、太阳东升西落。 有终止的循环:达到一定条件循环就结束了,如统计
//循环变量i自增1,思考使用++i是否可以?
}
printf("%d\n",sum);
}
说明:
循环体如果包含一个以上的语句,应该用大括号括 起来,以复合语句的形式出现。如果不加大括号, 则while语句的范围只到while后面的第一个分号处。
在循环体中应该有使循环趋于结束的语句。使用 i++使循环变量加1,当i>100时循环结束,如果不 改变i的值,循环将变为死循环。
上课要求
课前预习 将手机调到静音 认真做笔记 及时完成作业
学习目标
了解循环的概念 掌握while循环的使用方法 掌握do-while循环的使用方法
学习内容
循环结构 while语句 d0-while语句 while语句与d0-while语句的区别
循环的概念
顺序结构和选择结构可以解决简单地、不重复出现的问 题,现实生活中许多问题是需要重复处理的,如: ➢ 计算一个班50学生每人的平均成绩 ➢ 工厂各车间的生产日报表 ➢ 全国各省市的人口统计分析 ➢ 各大学招生情况统计 ➢ 全校教职工工资报表 ➢ 霓虹灯的闪烁、摩天轮的转动
for语句
while语句
while语句的一般形式如下: while (条件表达式) 循环体语句
当条件表达式为“真”时,执行循环体语句,为“假”时 不执行。
while循环的特点是:先判断条件表达式后执行循环体语句
while循环的流程图为:
int i=0; while(i<=10) {
printf(“%d\n”,i); i++; }
N-S流程图
#include <stdio.h>
void main()
{
int i,sum=0; //sum是用来存放累加和的变量,初值为0
i=1;
while (i<=100) //当i小于或等于100时,执行大括号中的复合语句
{
sum=sum+i; //i的当前值累加到变量sum中
i++;
50名学生成绩后,循环就不再继续了。
计算机程序职能处理有条件的循环,这种循环符合算法 的特性即有效性、确定性和有穷性,若程序永不结束, 是不正常的。
要构成一个有效的循环,应当指定两个条件: 需要重复执行的操作,这称为循环体 循环结束的条件,即在什么情况下停止重复的操作
while语句 实现循环结构的语句有: do-while语句
表达式
非0(真)
0(假)
流程图
循环体语句 当表达式的值为真
N-S流程图
用do…while循环求:1+2+3+…+100,即
sum=0,i=1
sum=sum+i i=i+1
i <=100
非0(真)
0(假)
sum=0,i=1
sum=sum+i i=i+1
i <=100
#include <stdio.h>
例:译密码。为使电文保密,往往按一定规律将其 转换成密码,收报人再按约定的规律将其译回原文。 电文译成密码的规律为:将字母A变成字母E,a变成e, W变成A,X变成B,Y变成C,Z变成D,非字母字符保 持原状不变。
A B C D E F G …… W X Y Z A B C D 输入一行字符,要求输出其相应的密码
解题思路: (1) 从字母A到V,只需将字母加上4就行
思考:编写程序,用while循环求自然数n的阶 乘,其中n由用户通过键盘输入。
do-while语句
一般形式为:
do
循环体语句
while (表达式);
先执行循环体,然后判断循环条件是否成立。
do-while语句的特点:先无条件地执行循环体,然 后判断循环条件是否成立,循环体至少执行一次。
循环体语句
例:求1+2+3+…+100,即 解题思路:
这是累加问题,需要先后将100个数相加 要重复100次加法运算,可用循环实现 后一个数是前一个数加1而得 加完上一个数后,加1可得到下一个数
sum=0 i=1
0(假)Βιβλιοθήκη Baidu
i<=100
非0(真)
sum=sum+i i=i+1
流程图
sum=0,i=1 i<=100 sum=sum+i i=i+1
解题思路:设计一个循环结构,在其中输入捐款数, 求出累加值,然后检查此时的累加值是否达到或超 过预定值,如果达到了,就结束循环操作
#include <stdio.h>
void main()
{
float amount,sum=0;
do
{
scanf("%f",&amount);
sum=sum+amount; //求累加和
}while(sum<10000);//累加值不到1000时循环
printf("sum=%9.2f\n",sum);
}
程序分析: 1、事先不清楚要执行的循环次数,只给出循环条件。 2、每次循环结束时检查循环条件是否满足。 3、当累加值超过10000时,终止循环条件。
思考:编写程序,用do-while循环求自然数n的阶 乘,其中n由用户通过键盘输入。
while语句与do-while语句的区别
凡是能用while循环处理的情况,都能用do…while 循环处理。
do…while循环结构可以转换成while循环结构。 while循环有可能一次也不执行,而do-while循环
至少执行一次。
思考分别输入1和11查看两个程序的运行结果?
结论:当while后面的表达式的第一次的值为“真” 时,两种循环得到的结果相同;否则,二者结果不 相同(相同循环体时)
相关文档
最新文档