第6讲 循环结构(1)
第六课循环结构程序设计(全课)解析ppt课件
repeat-until语句 (直到循环)
n repeat 语句用于"重复执行循环体,一直 到指定的条件为真时为止"。语法格式为:
repeat
语句1;
…
…
语 句 n;
until 布 尔 表 达 式 ;
其中Repeat、 until是Pascal保留字,
n
31
作业
n 1、编写一个译码程序,把一个英语句子译成数字 代码。译码规则是以数字1代替字母A,数字2代
替字母B, … 26代替字母Z,如遇空格则打印
一个星号‘*’,英文句子以‘ .‘结束。 n 2、五个好朋友聚在一起,第一个带了很多糖块送
给大家,他使每人的糖块在原来基础上翻了一倍。
接着第二个人也同样向每人发糖块,他也使每人
?
用 5 0 0元 钱 买 了 90只 鸡 ,
,
鸡 一 只 1 0元 , 小 鸡 一 只 5 母 鸡、 公 鸡、 小 鸡 各 买 多
分析:设母鸡I只,公鸡J只,则小鸡为90 I- J-只, 则15*I+ 10* J+(90-I-J)*5=500,显然一个方
程求两个未知数是不能直接求解。必须组合出所有 可能的I,j值,看是否满足条件。这里I的值可以 是0到33,J的值可以0到50。
repeat语 句 的 保 留 字 repeat和 until已 经 起
语句括号作用,可以包含多个语句而无须
begin和end。
25
当循环和直到循环的区别
n 3、repeat语句中,当布尔表达式为true时 结束循环,而while语句中,是当表达式为
false时 才 结 束 循 环 。 当 描进述行由的计计算算操时作,后
人教版高二数学课件循环结构
第2步:1+2=3; 第3步:3+3=6;
为了方便有效地表示上述过程,我 们引进一个累加变量S来表示每
第4步:6+4=10 …………一步ຫໍສະໝຸດ 计算结果,从而把第i步表示为
S=S+i
i=i+ 1
第100步:4950+100=5050.
由于i同时记录了循环的次数,所
以i称为计数变量.
程序框图: 开始
i=1
开始 i=0,A=1
i=i+1
A=A*i 否
i>=100? 是
输出A
结束
小结
1、循环结构的特点 重复同一个处理过程 2、循环结构的框图表示 当型和直到型 3、循环结构有注意的问题 避免死循环的出现,设置好进入(结束)循环 体的条件。
作业:
课本P20页A组2;
(1)顺序结构-----是由若干个依次执行的处理 步骤组成的.这是任何一个算法都离不开的 基本结构.
步骤1
步骤2
(2)条件结构---在一个算法中,经常会遇到一 些条件的判断,算法的流向根据条件是否成 立有不同的流向.条件结构就是处理这种过 程的结构.
否
满足条件?
是
步骤A
步骤B
否
满足条件?
是
步骤A
循环结构---在一些算法中,也经常会出现从 某处开始,按照一定条件,反复执行某一步 骤的情况,这就是循环结构.
满足条件?
是
否
Until(直到型)循环
循环体
满足条件?
是 否
While(当型)循环
(2)注意:循环结构不能是永无终止的“死 循环”,一定要在某个条件下终止循环,这就 需要条件结构来作出判断,因此,循环结构中 一定包含条件结构.
大学Python学习课件第6讲-循环结构-while
示例3:程序和运行结果
注意: s的初始值设为0 i的初始值设为1 i的作用:
– 循环计数变量,控制循环次数 – 作为每次被累加的整数值
示例3思考
在示例程序中,第1条语句改成如下,会有什么后果?请
尝试
i, s = 0, 0
循环体中语句“i+=1”,还可以如何表示?
循环结束后,变量i的值是什么?
重点难点
程序设计的3种基本结构 While语句语法
程序设计的3种基本结构
顺序结构 程序流程按先后顺序执行,只有执行了前一步,才能执行后 一步。 例如火车在轨道上行驶,只有过了上一站点才能到达下一站 点。
分支结构 指程序流程可以分几条路径之一执行。 例如在一个十字路口处,可以选择向东、南、西、北几个方 向之一行走。
…
elif 表达式 n : 语句块 n
else: 语句块n+1
2
if 表达式1: 语句块1 … if 表达式11: 语句块11… else: 语句块12 …
else: 语句块2
上节回顾-P50-例3-4思考题
程序是给满足某些教育条件的求职者提供面试机会。同时 满足以下三个条件之一的求职者会接到面试通知:
例3-4思考题程序
上节回顾-P56-习题3
把例3-3改为单分支语句来实现
上节回顾- P56-习题7
注意: 能被4整除的年份并不一定是闰年,应该同时被100整除才是闰年。
教学目标、重点难点
教学目标
程序设计的3种基本结构 循环结构概述 While语句
• 解决不确定循环次数问题 • 解决确定循环次数问题
【分析】
本题使用循环结构解决,每循环一次 累加一个整数值,整数的取值范围为 1~100。
大学Python学习课件第6讲-循环结构-while
示例 5
【示例5】求200以内能被17整除的最大正整数。程序保 存为06_number.py。
【分析】
这个查找过程将以递减的方式遍历200至1之间的整数,当找到第1 个能被17整除的数时,循环过程立即停止,后续还没有遍历的数 将无需再进行判断,因此可以使用break语句将循环提前终止。
示例5:程序和运行结果
课堂练习与课后作业
课堂练习
教材上的相关实例
• P57_4-1,p64_4-7
示例1-5
课后作业
输入一个整数n,计算1+2+3+…+n 输入一个整数n,计算n! P75:3,5,6,7,8
下一讲内容
循环结构程序设计
for循环 continue语句
做好预习
34
【分析】
该问题使用循环结构解决,由于不确定 用户即将输入几个正整数,因此属于不 确定循环次数的问题。
使用while语句的“格式1”
开始 输入第一个整数 x
x >= 0 ? True
将 x 累加到 s 中
输入后续整数 x
False
输出 s 结束
图 4-3 累加若干整数值的框图
示例1:程序和运行结果
示例3:程序和运行结果
注意: s的初始值设为0 i的初始值设为1 i的作用:
– 循环计数变量,控制循环次数 – 作为每次被累加的整数值
示例3思考
在示例程序中,第1条语句改成如下,会有什么后果?请
尝试
i, s = 0, 0
循环体中语句“i+=1”,还可以如何表示?
循环结束后,变量i的值是什么?
教学目标重点难点?教学目标?程序设计的3种基本结构?循环结构概述?while语句?解决不确定循环次数问题?解决确定循环次数问题?重点难点?程序设计的3种基本结构?while语句语法程序设计的3种基本结构?顺序结构?程序流程按先后顺序执行只有执行了前一步才能执行后一步
程序的循环结构课件高中信息技术必修计算与数据
目录
添加目录标题
01
循环结构的应用场景
04
循环结构的基本概念
02
循环结构的实现方式
03
循环结构的注意事项
05
循环结构与其他结构 的比较
06
添加章节标题
循环结构的基本 概念
循环结构的定义
循环结构是一种程序结构,用于表示一段代码需要重复执行直到满足某个条件。 循环结构包括两种类型:当型循环和直到型循环。 当型循环是指在循环开始前判断条件是否满足,如果满足则执行循环体,否则跳过循环。 直到型循环是指在循环开始后判断条件是否满足,如果满足则跳过循环,否则执行循环体。
减少循环变量:尽量减少循环变量, 提高程序可读性和可维护性。
添加标题
添加标题
添加标题
添加标题
避免死循环:在循环中设置合理的 退出条件,避免死循环,导致程序 崩溃。
优化循环体:在循环体中,尽量减 少计算量,提高程序运行效率。
循环中的变量作用域
局部变量:在循环 内部定义的变量, 只在循环内部有效
全局变量:在循环 外部定义的变量, 在整个程序范围内 有效
循环结构:重复执 行同一段代码,直 到满足特定条件
结合使用:在循环 结构中嵌入选择结 构,实现更复杂的 逻辑控制
示例:在循环中判 断数组元素,根据 条件执行不同的操 作
三种基本结构的比较与选择
顺序结构:按照代 码书写顺序执行, 适用于简单的线性 流程
选择结构:根据条件 判断执行不同的代码 块,适用于需要根据 条件做出决策的场景
循环结构的分类
顺序结构:按照程序语句的顺序执 行
循环结构:重复执行同一段程序, 直到满足特定条件
循环结构 课件
程序框图如图所示:
利用循环结构解决问题的“三个确定” (1)确定循环变量及初始值,弄清循环变量表示的意 义、取值范围及变化规律. (2)确定循环体的功能,根据实际情况确定采用哪种 循环结构. (3)确定循环结构的终止条件,弄清不等号的方向及 是否含有等号.
[活学活用]
如图是求
的值的程序框图,则判断框中应填入的
循环结构 (1)常见的循环结构有几类?分别是什么? (2)当型循环结构与直到型循环结构能否相互转化?
1.循环结构的概念及相关内容 (1)循环结构:按照一定的条件_反__复__执__行__某些步骤的 结构. (2)循环体:_反__复__执__行__的步骤. [点睛] (1)循环结构中必须包含条件结构,以保证在适当时候 终止循环. (2)循环结构内不存在无终止的循环,即死循环.
[解析] (1)第一步,s1=s1+x1=0+1=1,s=1,i=2; 第二步,s1=s1+x2=1+1.5=2.5,s=22.5,i=3; 第三步,s1=s1+x3=2.5+1.5=4,s=43,i=4; 第四步,s1=s1+x4=4+2=6, s=14×6=32,i=5,不满足 i≤4,输出 s=32. 答案:3
2.循环结构的分类及特征
名称
直到型循环
当型循环
结构
先执行循环体,后判断条件, 先判断条件,若条件满
特征 若条件不满足,则_执__行__循__ 足,则_执__行__循__环__体__,
_环__体_,否则_终__止__循__环__
否则终_止__循__环____
[点睛] 两种循环结构的区别和联系
类型
特征
何时终止 循环体执行
循环
次数
联系
先执行,后 条件满足 至少执行一
循环结构课件(42张)
C.i≤9
D.i<9
【解析】选B.第一次循环:S=0+ 1 , n=4,i=2;
2
第二次循环:S=0+ 1 + 1 , n=6,i=3;
24
第三次循环:S=0+ 1 + 1 + 1 , n=8,i=4;
246
…
第十次循环:S=0+ 1+1+1++1,n=22,i=11.
246
20
此时已得到所求,故应结束循环.所以应填i>10.
2.3 循环结构
1.循环结构的有关概念 (1)定义:反复执行相同操作的结构. (2)组成
【思考】 循环结构有哪些特点?
提示:循环结构有三个特点: ①重复性:在一个循环结构中,总有一个过程要重复 一系列的步骤若干次,而且每次的操作完全相同. ②判断性:每个循环结构都包含一个判断条件,它决 定这个循环的执行与终止. ③可终止性:循环结构的循环体要根据条件是否成立 才执行,故在判断框中的条件在循环体中要改变,否 则循环体不执行或无限期执行(死循环),这不符合程 序设计要求.
(2)在循环结构中,要注意根据条件设置合理的计数变 量,累加(乘)变量,同时条件的表述要恰当、精确. (3)累加变量的初值一般为0,而累乘变量的初值一般 为1,累加(乘)和计数一般是同步进行的,累加(乘)一 次,计数一次.
【习练·破】 设计一个算法,求1×2×3…×100的值,并画出算法 框图.
类型一 循环结构算法框图的识别与解读
【典例】1.当m=7,n=3时, ( )
A.7
B.42
C.210
D.840
2.执行如图所示的算法框图,若输入n的值为3,则输 出s的值是 ( )
A.1
B.2
C.4
《循环结构 》课件
三种循环结构的比较
总结词
比较while、do-while和for循环的特点和适用场景
详细描述
while循环适用于未知循环次数的场景,do-while循环适用于至少需要执行一次循环体的场景,for循环适用于需 要精确控制循环次数的场景。三种循环结构各有优缺点,根据实际需求选择合适的循环结构可以提高程序的效率 和可读性。
02
应尽量减少循环内部的 计算和操作,将不必要 的工作移出循环。
03
可以考虑使用迭代器或 其他算法优化手段来提 高循环的效率。
04
在处理大数据集时,应 考虑使用更高效的算法 或数据结构来替代简单 的循环结构。
05
循环结构的实例解析
while循环实例解析
总结词
展示while循环的基本用法和特点
01
03
循环结构的应用
在数学中的应用
求解数学问题
循环结构在数学中常用于求解各 种问题,如求和、求积、迭代等 。通过设定循环条件和循环体, 可以重复执行一系列数学运算,
直到满足终止条件。
绘制数学图形
循环结构在数学图形绘制中也有 广泛应用,如绘制正弦曲线、余 弦曲线、矩形等。通过控制循环 次数和步长,可以生成各种数学
总结词
分析while循环的执行流程
03
总结词
讲解while循环的注意事项
05
02
详细描述
通过一个简单的计算器程序,演示如何使用 while循环实现重复计算,直到满足某个条件 为止。
06
04
详细描述
通过流程图和文字说明,详细解释 while循环的执行流程,包括初始化 、条件判断、循环体执行和更新等步 骤。
do-while循环的语法
循环结构教案
《循环结构》教案梁长春一、教材分析与处理(一)教材的地位与作用算法是数学及其应用的重要组成部分,是计算数学的重要基础,在科学技术、社会发展中发挥越来越大的作用,算法思想已成为现代人应具备的一种数学素养。
通过本节课的学习,既是对算法概念的进一步巩固和深化,又为后面进一步学习基本算法语句打下坚实的基础,循环结构是程序框图的一种基本逻辑结构。
通过模仿、操作、探索,学习设计循环结构程序框图,表达解决问题的过程,理解循环结构的意义,体会循环结构的作用,因此本节课在教材中起到了承上起下的作用。
(二)学生状况分析学生在学习本课以前,已经学习了算法的概念、顺序结构、条件结构及简单的赋值=+的结论的基础。
另外,高问题,因此,学生具备类比简单d i=的赋值得出sum sum n一学生形象思维、感性认识较强,理性思维、抽象认识能力还很薄弱,因此教学中宜选择学生熟悉的,易懂的实例引入,通过对引例的分析,使学生逐步经历循环结构设计的全过程,学会有条理的思考问题,表达循环结构,并尝试整理成程序框图。
根据以上对教材和学生的分析,考虑到学生已有的认知规律,学生应达到以下三个教学目标。
(三)教学目标1、知识与技能:理解循环结构,能识别和理解简单的框图的功能。
并运用循环结构设计程序框图解决简单的问题2、过程与方法:通过模仿、操作、探究,学习设计循环结构程序框图,体会算法思想,发展有条理的思考与表达能力,提高逻辑思维能力,增强识图用图的能力。
3、情感态度与价值观:通过本节课的学习,让学生感受和体会到算法思想在解决具体问题中的意义,增强学生的创新能力及应用数学的意识。
构建和谐的课堂氛围,培养学生勇于提问,善于探索的思维品质。
(四)教学重点、难点依据教学目标,根据学生的认知规律,确定本节课的教学重点为理解循环结构,能识别和画出简单的循环结构框图。
难点为循环结构中的循环条件和循环体的确定。
(五)教材处理教材中直接给出循环结构的程序框图,再对循环结构进行讲解,这样做使学生对循环结构的根本意义很难理解。
《循环结构》 讲义
《循环结构》讲义在编程的世界里,循环结构是一项非常重要的概念和工具。
它就像是一个勤劳的小助手,能够帮助我们自动、重复地执行一系列的操作,大大提高了程序的效率和功能。
循环结构,简单来说,就是让一段代码按照一定的条件和规则,不断地重复执行。
想象一下,你需要打印 1 到 100 这 100 个数字,如果没有循环结构,你就得手动一个一个地写 100 行代码来实现。
但有了循环,只需要几行代码就能轻松搞定。
在大多数编程语言中,常见的循环结构有三种:for 循环、while 循环和 dowhile 循环。
先来说说 for 循环。
for 循环通常有三个部分:初始化、条件判断和更新。
初始化部分用于设置循环的初始值,比如从哪个数字开始;条件判断部分决定循环是否继续执行,如果条件为真,就继续执行循环体里的代码,否则就结束循环;更新部分则在每次循环结束后,对循环变量进行修改,为下一次循环做准备。
举个例子,如果我们想计算 1 到 10 的和,可以这样写 for 循环:```javaint sum = 0;for (int i = 1; i <= 10; i++){sum += i;}```在这个例子中,`int i = 1` 是初始化,`i <= 10` 是条件判断,`i++`是更新。
循环体里的代码`sum += i` 就是每次把当前的`i` 值加到`sum` 中。
接下来是 while 循环。
while 循环只有一个条件判断,如果条件为真,就执行循环体里的代码,执行完后再次判断条件,直到条件为假时结束循环。
比如,还是计算 1 到 10 的和,用 while 循环可以这样写:```javaint sum = 0;int i = 1;while (i <= 10) {sum += i;i++;}```这里先初始化`i` 为 1,然后在 while 循环里判断`i` 是否小于等于 10,如果是就执行循环体里的代码,同时把`i` 的值加 1。
《循环结构教学》课件
01பைடு நூலகம்
计数型循环
根据计数器的值重复执行循环 体。
02
条件型循环
根据某个条件是否成立来决定 是否执行循环体。
03
事件驱动型循环
根据事件的发生来重复执行循 环体。
02
for循环教学
for循环的语法
01
02
总结词:简洁明了
详细描述:for循环的语法结构包括初始化、条件判断和后续操作三 个部分,使用关键字for进行标识,并使用分号进行语句分隔。
根据需求选择合适的循环结构
当循环次数已知且较 为固定时,选择for 循环。
当至少需要执行一次 循环,无论条件是否 满足时,选择dowhile循环。
当循环次数未知,但 有明确的停止条件时 ,选择while循环。
避免无限循环的注意事项
确保for、while和do-while循环 都有明确的退出条件。
03
while循环教学
while循环的语法
总结词:简洁明了
详细描述:while循环的语法结构包括“while (条件) {循环体;}”,当条件为真时,循环体会重复执行 。
while循环的执行流程
总结词:逐步解释
详细描述:while循环的执行流程是先 判断条件是否为真,如果为真则执行 循环体,执行完毕后再次判断条件, 重复执行直到条件不再为真。
《循环结构教学》ppt课件
目录
• 循环结构简介 • for循环教学 • while循环教学 • do-while循环教学 • 三种循环的比较与选择
01
循环结构简介
循环结构的定义
循环结构是一种编程结构,它允许程序重复执行一段代 码,直到满足某个特定条件为止。
循环结构由初始化语句、循环体和更新语句三部分组成 。
《循环结构 》课件
循环结构执行次数由循环计数器和循环条件决定,执行过程可控性强。
2 重复执行相同操作
循环结构从头至尾执行相同的操作,适用于重复性任务。
3 灵活性差
循环结构的执行顺序固定、逻辑单一,不适合处理复杂的业务场景。
循环结构的设计原则
1
尽量避免死循环
2
死循环会导致程序一直运行,需要中断
程序执行。应在循环中设置合理的条件
循环结构的应用场景
生产流水线
利用循环结构不断重复执行一系列操作,实现流水 线作业的自动化。
股票交易
利用循环结构不断监测股市行情,及时进行交易决 策。
交通调度
利用循环结构实现红绿灯、路口信号灯等交通设施 控制。
农业生产
利用循环结构实现自动化灌溉、施肥、喷药等操作, 提高农业生产水平。
循环结构的特点
计算阶乘
利用while循环嵌套,根据阶乘 定义计算阶乘值。
数字猜谜
利用do-while循环,循环进行数 字猜谜游戏。
循环结构的优点和局限性
优点
结构简单、灵活、易于掌握和使用;适用于重复性任务。
局限性
执行顺序固定、逻辑单一,不适合处理复杂的业务场景;容易出现死循环和逻辑漏洞。
循环结构的未来发展展望
以避免死循环。
3
明确循环次数
在设计循环结构时应慎重选择循环变量、 循环初始值、循环终止条件和循环变量 变化规律,确保循环次数明确。
提高循环效率
循环结构的执行次数与程序运行效率成 正比。应通过算法优化、循环中尽量减 少运算等方式提高循环效率。
循环结构的示例
打印矩阵
利用for循环嵌套,按矩阵行列 规律输出数字。
循环结构
第6讲 三种循环结构
i++; ;
printf("s=%ld\n", s); ;
输 输s
}
注意: 注意:
如果循环体中包含一个以上的语句, 如果循环体中包含一个以上的语句,应该用花括弧 括起来,以复合语句的形式出现。如果不加花括弧, 括起来,以复合语句的形式出现。如果不加花括弧,则 后的第一个分号处。 while语句的范围只到while后的第一个分号处。 在循环体中应该有使循环趋向结束的语句, 在循环体中应该有使循环趋向结束的语句,否则会 导致死循环。 导致死循环。 如上例中的语句改写 成如下形式: 成如下形式: i=1; while ( i < = 100 ) s+=i; ; i++; ; 则while语句的循环体语句为: 语句的循环体语句为: 语句的循环体语句为 s+=i; ; 循环变量i的值没有改变,循 循环变量 的值没有改变, 的值没有改变 环不能终止, 环不能终止,陷入死循环
(1)在循环语句前给循环变 ) 量赋初值 (2)循环体内修改循环变量 )
{sum=sum+i; i++;} 相当于: 相当于: while (i<100)
{sum=sum+i; i++;}
例6.4:for( y=20,x=1 ;x<--y ;x+=x ) ( ,
printf("%d,%d\n",x,y); ( , , , ); 循环变量赋初值 循环条件 循环变量增值
第6讲 三种循环结构
一、while 语句 二、do-while 语句 do三、for 语句
循环结构也称重复结构 重复结构:程序中反复执行的一 循环结构 重复结构 组指令或程序段。 循环体: 循环体:被反复执行的程序段。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
1
3 5 7
1
1
1
6.1.1 程序解析
6.1.2 while语句
6.1.3 输入一批学生的成绩,统计平均分
6/
6.1.1 程序解析-求π的近似值
#include <math.h> pi = 3.141613 int main(void) { int denominator, flag; item=0.0 ? double item, pi; flag = 1; denominator = 1 ; item = 1.0; pi = 0; while(fabs (item) >= 0.0001) { fabs(item) < 0.0001 item = flag * 1.0 / denominator; pi = pi + item; flag = -flag; denominator = denominator +2; } pi = pi * 4; printf ( “pi = %f\n”, pi); return 0; }
//求前n项的平方和如何实现?
10/
统计输入的一批学生的平均成绩
例6-2 从键盘输入一批学生的成绩,计算平均 分。 分析:
– 求累加和 – 确定循环条件
• 不知道输入数据的个数,无法事先确定循环次数 • 用一个特殊的数据作为正常输入数据的结束标志,比 如选用一个负数作为结束标志。
11/
#include <stdio.h> Int main(void) Enter grades: -1 67 88 73 54 82 { int num; Grade average mark is double grade, total; num = 0; total = 0; printf(“Enter grades: \n"); scanf("%lf", &grade); /* 输入第1个数*/ while (mark >= 0) { /* 输入负数,循环结束 */ total = total + grade; num++; Enter grades: 67 88 73 54 82 -1 scanf (“%lf”, &grade); Grade average is 72.80 } if(num != 0) printf(“Grade average is %.2f\n", total/num); else printf(" Grade average is 0\n"); return 0; }
在表达式1中实现循环变量的初始化。
3.while和for循环是先判断表达式,后执行语句; 而do-while循环是先执行语句,后判断表达式。
20/
作业与实验
• 作业
– 练习4-3、4-4
• 实验
– 实验指导书:实验4.1
21/
第六讲 循环结构(一)
赵欢欢 计算机与信息工程学院
1/
学习目标
• 了解循环的概念 • 掌握使用循环的方法 • 掌握使用while 和do-while语句实现次数 不确定的循环 • 了解while 和do-while语句有什么不同
2/
循环结构
• 在许多问题中需要用到循环控制。例如: – 要输入全校学生成绩; – 求若干个数之和及阶乘; • 几乎所有实用的程序都包含循环复杂程序的基本构造单 元。
3/
循环结构
• 实现循环的几个语句 – for语句 – while语句 – do~while语句 – goto语句和if语句构造循环
4/
循环结构
6.1 用格里高利公式求π的近似值 (while语句)
6.2 统计一个整数的位数 (do-while语句)
5/
用格里高利公式求π的近似值
例6-1使用格里高利公式求π的近似值,要 求精确到最后一项的绝对值小于10–4。
循环体语句 假
表达式 真 循环体语句
假
表达式
真
do-while的下一条语句
while的下一条语句
16/
while 和 do-while 的比较
#include <stdio.h> main() {int i;int sum=0;scanf(“%d”,&i); while(i<=10) { sum+=i;i++; } printf(“sum=%d\n”,sum); } //while循环 #include <stdio.h> main() {int i;int sum=0;scanf(“%d”,&i); do{ sum+=i;i++; } while(i<=10); printf(“sum=%d”,sum); } //do~while循环
7/
6.1.2 while 语句
形式:while (表达式) 循环体语句;
表达式 真 循环体语句 假
一条语句
循环条件 循环体
while下一条语句
8/
while 语句说明
while 语句和for语句
都是在循环前先判断条件
把for语句改写成while语句
for(表达式1; 表达式2; 表达式3) 循环体语句
for循环可以在表达式3中包含使循环趋于结束的 操作,甚至可以将循环体中的操作全部放到表达式3 中,因此for语句的功能更强,凡用while循环能完成 的,用for循环都能实现。
19/
几种循环的比较(续):
2.用while和do-while循环时,循环变量初始化的操作 应在while和do-while语句之前完成。而for语句可以
17/
6.2.3 循环语句的选择
if(循环次数已知) 使用for语句 else /* 循环次数未知 */ if (循环条件在进入循环时明确) 使用while语句 else /* 循环条件需要在循环体中明确 */ 使用do-while语句
18/
几种循环的比较:
1.while和do-whi1e循环,只在while后面指定循环 条件,在循环体中包含应反复执行的操作语句,包 括使循环趋于结束的语句(如i++,或i+=1等)。
6.2.2 do - while 语句
do { 循环体语句 } while (表达式) );
//循环体至少执行一次
循环体语句 假
先循环 /*本行的分号不能缺省*/
后判断
表达 真式
do-while的下一条语句
15/
while 和 do-while 的比较
• while 是先判别条件,再决定是否循环; • do-while 是先至少循环一次,然后再根据循 环的结果决定是否继续循环。
6.2 统计一个整数的位数
从键盘读入一个整数,统计该数的位数。 例如;输入:12345,输出5;输入-123,输出3。 6.2.1 程序解析
6.2.2 do - while语句
6.2.3 循环语句的选择
13/
程序解析-统计一个整数的位数
Enter a number: 12534 int main(void) It contains 5 digits. { int count, number; Enter a number: -99 count = 0; It contains 2 digits. printf(“Enter a number: "); Enter a number: 0 scanf ("%d", &number) ; It contains 1 digits. if (number < 0) number = -number; do { while (number != 0) { number = number / 10; number = number / 10; count ++; count ++; } } while (number != 0); printf("It contains %d digits.\n", count); return 0; } 14/
表达式1; while (表达式2) { for的循环体语句; 表达式3; }//循环语句不止一条时,要加{ }, 否则while执行的循环只到第一个 语句位置。
9/
while 和 for 的比较
//求前10个数的和 #include “stdio.h” int main(){ int sum=0;int i=1; for (i = 1; i <= 10; i++){ sum = sum + i;} printf(“sum=%d”,sum); } //求前10个数的和 #include “stdio.h” int main(){ int sum=0;int i=1; i = 1; // 循环变量赋初值 while (i <= 10){ // 循环条件 sum = sum + i; i++; // 循环变量的改变 } printf(“sum=%d”,sum); }