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