第06讲循环结构程序设计PPT课件
合集下载
C语言第5章-循环结构程序设计PPT课件
sum=sum+i i++
当i<=10 (直到i>10) 输出sum
#include "stdio.h" int main() {
int i,sum; i=1; sum=0; do { sum=sum+i; i++; }while(i<=10);
至少执 行一次
循环体语句
真 表达式 假
说明
printf("sum=%5d\n",sum); return 0;
7
举例
例5.2 设s=1×2×3×……×n,求s不大于400000时 最大的n。
#include <stdio.h>
int main( )
{ int n=1; long int s=1;
前n项的乘积
P81
while(s<=400000)
{
n=n+1;
s=s*n;
}
printf("不大于400000时的最大n为:%d\ns值为:%ld\n",n-1,s/n);
输入:1 输出:sum=55 输入:11 输出:sum=0
sum=55 sum=11
什么情况下两 者结果相同?
11
§5.3 for语句
P87
格式 for (表达式1;表达式2;表达式3) 语句
for (循环变量赋初值;循环条件;循环变量增值) 语句
执行 过程
求解表达式1
假 表达式2
真 循环体语句
求解表达式3
一、实现循环结构的控制语句 二、循环嵌套 三、循环结构程序举例
1
• while语句 • do-while语句 • for语句 • break、continue语句 • 几种循环的比较
当i<=10 (直到i>10) 输出sum
#include "stdio.h" int main() {
int i,sum; i=1; sum=0; do { sum=sum+i; i++; }while(i<=10);
至少执 行一次
循环体语句
真 表达式 假
说明
printf("sum=%5d\n",sum); return 0;
7
举例
例5.2 设s=1×2×3×……×n,求s不大于400000时 最大的n。
#include <stdio.h>
int main( )
{ int n=1; long int s=1;
前n项的乘积
P81
while(s<=400000)
{
n=n+1;
s=s*n;
}
printf("不大于400000时的最大n为:%d\ns值为:%ld\n",n-1,s/n);
输入:1 输出:sum=55 输入:11 输出:sum=0
sum=55 sum=11
什么情况下两 者结果相同?
11
§5.3 for语句
P87
格式 for (表达式1;表达式2;表达式3) 语句
for (循环变量赋初值;循环条件;循环变量增值) 语句
执行 过程
求解表达式1
假 表达式2
真 循环体语句
求解表达式3
一、实现循环结构的控制语句 二、循环嵌套 三、循环结构程序举例
1
• while语句 • do-while语句 • for语句 • break、continue语句 • 几种循环的比较
循环结构程序设计教案ppt课件
}
解法2 do_while 语句
#inlcude <stdio.h>
main()
{ int s = 0, i = 1;
do{ s = s + i; i++; }
解法3 for 语句 #inlcude <stdio.h>
while ( i <= 100 );
printf( "1+2+3+…+100=%d\n“ , s ); }
for ( i = 1;i <= n;i++ ) s+= i;
2 若表达式e2省略,即不判断循环条件,循环无法终止—死循环(应避免), 该结构一定要有break之类的跳出循环控制语句
for( i=1; ;i++) s+= i;
i = 1; while (1) { s+= i; i++;}
3 表达式e3可以省略,放入后面的循环体语句s中
Ex 计算
s111 1 2 3 100
i <=100
真
假
s += 1.0 / i; i++;
#include <stdio.h> main() {
int i = 1; float s = 0;
while( i <= 100 ) { s += 1.0 / i; i++; }
printf( "s=%f\n", s ); }
{ a = a + 1; b = b + 1;
}
例如:a = 0;b = 0; for ( i = 1;i <= 10;i++ ) { a = a + 1; b = b + 1; }
第六课循环结构程序设计(全课)解析ppt课件
x :E n Writeln( x) ; End. 21
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时 才 结 束 循 环 。 当 描进述行由的计计算算操时作,后
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时 才 结 束 循 环 。 当 描进述行由的计计算算操时作,后
大学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种基本结构?顺序结构?程序流程按先后顺序执行只有执行了前一步才能执行后一步
《循环程序设计》课件
避免死循环的方法
在编写循环程序时,应确 保循环终止条件在某个时 刻能够满足,或者在循环 体内有退出循环的语句。
死循环的危害
死循环会导致程序无法正 常结束,消耗大量的系统 资源,甚至可能导致系统 崩溃。
提高循环的效率
循环优化原则
在保证程序正确的前提下,尽可能减少循环次数,提高循环的执 行效率。
减少循环体内的计算
冒泡排序算法的时间复杂度
冒泡排序的时间复杂度为O(n^2),其中n为待排序的元素个数。因为冒泡排序需要重复遍 历整个列表,每次遍历都需要进行n次比较和交换操作。
斐波那契数列的求解
斐波那契数列的定义
斐波那契数列是一个数列,其中每个数字是前两个数字的和。第一个数字和第二个数字都是1,之后的每个数字都是 前两个数字的和。
《循环程序设计》ppt 课件
目录
• 循环程序设计概述 • 循环控制结构 • 循环嵌套 • 循环程序设计的实际应用 • 循环程序设计的优化与调试
01
循环程序设计概述
循环的定义与特点
总结词
描述循环的定义、特点以及在程序中的作 用。
嵌套循环
循环可以嵌套在其他循环内部,形成多层 循环结构。
详细描述
循环是一种重复执行一段代码的程序结构 ,它允许在满足特定条件时重复执行代码 块。循环具有以下特点
斐波那契数列的求解
在Python中,可以使用循环来计算斐波那契数列中的每个数字。具体实现过程是,定义两个变量分别表示前两个数 字,然后使用一个循环来计算斐波那契数列中的每个数字,直到达到所需的数字为止。
斐波那契数列的递归实现
另一种实现方法是使用递归。递归的实现方式是,定义一个函数来计算斐波那契数列中的第n个数字,然 后在函数中调用自身来计算前两个数字的和。递归的实现方式虽然简洁,但是效率较低,因为需要重复 计算相同的数字。
第6章 循环结构程序设计 ppt课件
main() { int s=0,n=1;
loop1: if (n>100) goto loop2; s=s+n; n++; goto loop1; loop2: printf("S=%d",s); }
ppt课件
6
例2:统计从键盘输入一行字符的个数。
#include"stdio.h"
void main()
if (n>100) break; }
printf("s=%d\n",s);
} ppt课件
18
4. for语句中的三个表达式都可以是逗号表达式,即每个表 达式都可由多个表达式组成。
main() { int n,s; for(n=1,s=0;n<=100;n++) s=s+n; printf("s=%d\n",s); }
C语言不限制程序中使用标号的次数,但各标号不得重名。
goto语句的语义是改变程序流向,转去执行语句标号所标识
的语句。
ppt课件
4
用goto语句与if语句实现循环
形式1: loop1:
语句; if (表达式) goto loop1;
形式2: loop1:
if (表达式) goto loop2; 语句; goto loop1;
void main() { int s=0,n=1; while (n<=100) { s=s+n; n++; } printf("S=%d",s); }
void main() { int s=0,n=1; do { s=s+n; n++; } while (n<=100); printf(“s=%d",s); }
C语言循环结构程序设计 ppt课件
int i,sum=0;
while(i<=100)
{
sum+=i;
i++;
}
printf("Sum = %d\n",sum);
}
2021/3/26
C语言循环结构程序设计 ppt课件
25
C语言循环结构程序设计
do~while语句的一般形式为: do { 循环体语句; }while (表达式);
Do~whil e循环流程
(2) 求解表达式2,若其值为真(值为非0), 则执行for语句中指定的内嵌语句,然后 执行下面第(3)步。若为假(值为0),则 结束循环,转到第(5)步。
(3) 求解表达式3。
(4) 转回上面第(2)步骤继续执行。
(5) 循环结束,执行for语句下面的一个语 句
2021/3/26
C语言循环结构程序设计 ppt课件
2021/3/26
C语言循环结构程序设计 ppt课件
12
C语言循环结构程序设计
说明:
(4) 可以省略表达式1和表达式3,只有表达式2,即只
给循环条件。如:
for(;i<=100;)
while(i<=100)
{sum=sum+i; 相当于 {sum=sum+i;
i++;}
i++;}
在这种情况下,完全等同于while语句。可见for语句
while(i<=100)
{
控制循环次
sum+=i;
数
i++;
}
printf("Sum = %d\n",sum);
《循环结构 》课件
三种循环结构的比较
总结词
比较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循环的语法
06循环结构程序设计34页PPT
A F
P T
A 直到P为假
8
6.2 do-while语句
例如:求
100
n
n=1
#include <stdio.h>
void main(void)
{
int i,sum=0;
i=1;
do
{
sum=sum+i;
i++;
} while(i<=100);
printf(“%d”,sum);
}
从上面对一个问题的两种解决方法可以看出:while循环与do_while循环在 绝大多数情况下是可以相互转化的。
4、表达式1和表达式3同时省略也允许, 例如: i=1;sum=0; for(;i<=100;) {sum=sum+i; i++;} 这种情况下完全与while循环等同。
5、三个表达式都可以省略,但“;”不能省略。 例如: for(;;) sum=sum+i; 这种情况下循环将无休止的执行下去。
13
教材:C程序设计导论
2
本讲重点
1.熟练掌握三种循环语句的基本结构以及循环语句的嵌套。 2.掌握goto语句的一般形式。 3.熟练掌握break、continue语句的使用。 4.使用三种基本结构编写简单的程序。
3
循环结构
功能:重复执行某一种动作(代码)若干次。 goto语句构成的循环 while循环 do—while循环 for循环 while、do—while、for三种循环的比较 break、continue语句的作用及在循环中的应用
}
12
6.3 for语句---使用要点
1、for语句中的表达式1可以省略,但在for循环之前应给循环变量赋值。 例如: i=1; for(;i<=100;i++) sum=sum+i;
《循环结构程序设计》课件
for循环结构的执行流程
总结词
详细描述for循环结构的执行流程,包括初始化、条件判断、循环体执行和更新四个步 骤。
详细描述
for循环结构的执行流程包括四个步骤。首先,进行初始化操作,设置循环变量的初始 值。然后,进行条件判断,检查是否满足循环继续的条件。如果条件满足,执行循环体 内的语句。最后,进行更新操作,修改循环变量的值,然后再次进行条件判断,重复执
while循环结构的注意事项
总结词
关键点全覆盖
详细描述
使用while循环结构时需要注意以下几点,首先,条件表达式必须保证在某个时刻变为假,否则循环 将无限进行下去;其次,在循环体内应包含使条件表达式最终变为假的操作;最后,应避免在循环体 内使用使条件表达式永远为真的操作。
04
do-while循ห้องสมุดไป่ตู้结构
do-while循环结构的语法
总结词:简洁明了
详细描述:do-while循环结构的语法包括"do"关键字、"while"关键字、循环体和条件表达式。语法 格式为"do {循环体} while (条件表达式);"
do-while循环结构的执行流程
总结词:逻辑清晰
详细描述:do-while循环结构的执行流程是先执行一次循环 体,然后判断条件表达式,如果条件表达式为真,则再次执 行循环体,否则退出循环。循环体会一直执行直到条件表达 式不再满足为止。
循环结构的应用实例
用for循环计算1到100的累加和
总结词:简单明了
详细描述:通过使用for循环,我们可以轻松地计算从1到 100的所有整数的累加和。在每次循环中,我们将当前数 字添加到总和中,直到我们达到100。
《循环结构程序设计 》课件
《循环结构程序设计》 PPT课件
这份《循环结构程序设计》PPT课件将带你深入了解循环结构的概念和应用。 从基础的while循环到嵌套循环和循环控制语句,帮助你轻松理解和掌握编程 中的循环结构。
一、循环结构概述
循环结构介绍
介绍了什么是循环结构以及它的作用和优势。
常见循环结构类型
探讨了while、do-while和for等常见的循环结构 类型。
do-while循环结构语法
介绍了do-while循环的语法和语法要点。
do-while循环结构示例
通过实例演示了do-while循环在实际代码中的应用。
四、for循环
1
for循环结构介绍
介绍了for循环是什么以及它的特点和适
for循环结构语法
2
用场景。
详细解释了for循环的语法和使用方法。
3
for循环结构示例
通过示例演示了for循环的实际应用和效 果。
五、循环嵌套
循环嵌套介绍
探讨了循环嵌套的概念和在编程中的常见应用。
循环嵌套示例
通过具体示例展示了循环嵌套在解决复杂问题时的实际价值。
六、循环控制语句
循环控制语句介绍 break语句 continue语句 循环控制语句示例
解释了在循环中使用循环控制语句的目的和作用。
二、while循环
1
while循环结构介绍
解释了while循环是如何工作的以及它的特点和用法。
2
while循环结构语法来自详细介绍了while循环的语法和关键要点。
3
while循环结构示例
通过具体案例演示了while循环的实际应用。
三、do-while循环
do-while循环结构介绍
这份《循环结构程序设计》PPT课件将带你深入了解循环结构的概念和应用。 从基础的while循环到嵌套循环和循环控制语句,帮助你轻松理解和掌握编程 中的循环结构。
一、循环结构概述
循环结构介绍
介绍了什么是循环结构以及它的作用和优势。
常见循环结构类型
探讨了while、do-while和for等常见的循环结构 类型。
do-while循环结构语法
介绍了do-while循环的语法和语法要点。
do-while循环结构示例
通过实例演示了do-while循环在实际代码中的应用。
四、for循环
1
for循环结构介绍
介绍了for循环是什么以及它的特点和适
for循环结构语法
2
用场景。
详细解释了for循环的语法和使用方法。
3
for循环结构示例
通过示例演示了for循环的实际应用和效 果。
五、循环嵌套
循环嵌套介绍
探讨了循环嵌套的概念和在编程中的常见应用。
循环嵌套示例
通过具体示例展示了循环嵌套在解决复杂问题时的实际价值。
六、循环控制语句
循环控制语句介绍 break语句 continue语句 循环控制语句示例
解释了在循环中使用循环控制语句的目的和作用。
二、while循环
1
while循环结构介绍
解释了while循环是如何工作的以及它的特点和用法。
2
while循环结构语法来自详细介绍了while循环的语法和关键要点。
3
while循环结构示例
通过具体案例演示了while循环的实际应用。
三、do-while循环
do-while循环结构介绍
循环结构程序设计PPT课件
int w,a,sum=0; scanf(“%d”,&w); while(w!=0) {a=w%10; w=w/10; sum=sum+a*a;} if(sum%5==0) printf(“yes\n”); else printf(“no\n”); }
21
第21页/共32页
例3:求Fibonacci数列:1,1,2,3,5,8,…的前40个数.
sum=sum+a3; sum=sum+a4; ……
//sum=a1+a2; //sum=a1+a2+a3; //sum=a1+a2+a3+a4;
12
第12页/共32页
例题:求和
100
n
n1
main() { int i,sum;
i=1; sum=0; while (i<=100) { sum=sum+i;
if(area>100) break; printf(“%f”,area);
}
16
第16页/共32页
continue
1、功能:结束本次循环,接着判定下一次是否执行循环。 2、continue与break的区别: continue只结束本次循环,而break是终止本层循环. 3、例:把100~200之间的不能被3整除的数输出.
#include<stdio.h> main( ) {
int i=1; while (i<=10) {
printf("hello world!\n"); printf(“I am ok!\n"); i++; } }
7
第7页/共32页
21
第21页/共32页
例3:求Fibonacci数列:1,1,2,3,5,8,…的前40个数.
sum=sum+a3; sum=sum+a4; ……
//sum=a1+a2; //sum=a1+a2+a3; //sum=a1+a2+a3+a4;
12
第12页/共32页
例题:求和
100
n
n1
main() { int i,sum;
i=1; sum=0; while (i<=100) { sum=sum+i;
if(area>100) break; printf(“%f”,area);
}
16
第16页/共32页
continue
1、功能:结束本次循环,接着判定下一次是否执行循环。 2、continue与break的区别: continue只结束本次循环,而break是终止本层循环. 3、例:把100~200之间的不能被3整除的数输出.
#include<stdio.h> main( ) {
int i=1; while (i<=10) {
printf("hello world!\n"); printf(“I am ok!\n"); i++; } }
7
第7页/共32页
第六章 循环结构程序设计ppt课件
1.表达式1,表达式2,表 达式3均可省略,但;不能省 略。
2.循环体语句多于一个用{} 括起来。
3.表达式2省略代表条件永远 成立。
6.5 多重循环
如果一个循环体中包含另一个完整的循环结构,称为 循环的嵌套。内嵌的循环体中继续嵌套循环结构,称为多 重循环(或多层循环)。
main()
default : k=k/3;
}
k++;
}while(c<’g’);
printf(“k=%d\n”,k);
}
编辑版pppt
9
2.填空
下面程序的功能是用公式 求π的近似值,直到最后一项的值小于10-6为止。请填空。
#include “stdio.h” #include “math.h” main() { long i=1;
(2)在循环结构中,中断本层循环。
二、continue语句
应用范围:循环结构
功 能:结束一次循环。
main( )
main( )
{ int i,j,sum=0;
{ int n; for(n=100;n<=200;n++) { if(n%3==0) continue; printf(“%d”,n);
for(i=0;i<2;i++) for(j=0;j<=4;j++) if(j%2) break; else sum++;
编辑版pppt
3
6.3 do-while语句
do-while循环语句的一般形式为: do
循环体语句; while(表达式);
循环体
Y 条件 N
编辑版pppt
4
2.循环体语句多于一个用{} 括起来。
3.表达式2省略代表条件永远 成立。
6.5 多重循环
如果一个循环体中包含另一个完整的循环结构,称为 循环的嵌套。内嵌的循环体中继续嵌套循环结构,称为多 重循环(或多层循环)。
main()
default : k=k/3;
}
k++;
}while(c<’g’);
printf(“k=%d\n”,k);
}
编辑版pppt
9
2.填空
下面程序的功能是用公式 求π的近似值,直到最后一项的值小于10-6为止。请填空。
#include “stdio.h” #include “math.h” main() { long i=1;
(2)在循环结构中,中断本层循环。
二、continue语句
应用范围:循环结构
功 能:结束一次循环。
main( )
main( )
{ int i,j,sum=0;
{ int n; for(n=100;n<=200;n++) { if(n%3==0) continue; printf(“%d”,n);
for(i=0;i<2;i++) for(j=0;j<=4;j++) if(j%2) break; else sum++;
编辑版pppt
3
6.3 do-while语句
do-while循环语句的一般形式为: do
循环体语句; while(表达式);
循环体
Y 条件 N
编辑版pppt
4
循环结构程序设计PPT课件
2020/12/29
3
6.1 问题的提出
利用前面所学的知识,同学们已经可以编程解决 以下问题
计算班级3名学生的总成绩及平均成绩 计算sum=1+2+3+4+5 如果在第1题里是一个班级30名同学的成绩呢? 如果在第2题里是计算sum=1+2+3+…+n-1+n (n=1000)呢?
2020/12/29
}
2020/12/29
19
6.4 for语句
一般形式 for([表达式1];[表达式2];[表达式3]) 语句 此处无;
for
执行流程
表达式1
表达式2
假(0)
真(非0)
语句
执行表达式1 当表达式2为真时
do 语句
while(表达式);
do
此处有;
真(非0)
语句
语句
当表达式为真时
while
表达式
假(0)
特点:先执行循环体内语句,后判断表达式
2020/12/29
15
100
例:用do~while循环求 n n 1
#include <stdio.h> int main() { int n,sum=0;
{ int i,sum=0;
{ int i,sum=0;
scanf("%d",&i);
scanf("%d",&i);
do
while(i<=10)
{ sum+=i;
{ sum+=i;
i++;
i++;
}while(i<=10);
程序设计中的循环结构PPT.ppt
s=s+1 print s
A. 1 B.3 C.4 D.10
2. 以下程序的运行结果是( ) for j in range(1,3):
for i in range(1,5): print "*",
A.输出4个* B.输出10个* C.输出8个* D.输出15个*
3. 以下程序的运行结果是( ) for i in range(1,句的执行过程: i=1,i<101, print “*” i=2,i<101, print “*” ...... i=100,i<101,print “*” 共循环了100次
循环的条件:i<101 i 的初始值
for语句格式要注意冒号和缩进
1. 以下程序运行的结果是( ) s=0 for i in range(1,4):
1. for循环不是Python语言当中唯一的循环结构,但是是最强大 的循环结构,体现了计算机超强的计算能力。
2.程序设计的目的是让计算机帮助我们解决实际问题。 问题提出———>算法设计———>程序实现
(百鸡问题) (枚举法) (写程序输出结果)
if i%2==0: print i
A. 2,4,6,8 B. 2,4,6,8,10 C.1,3,5,7,9 D.0,2,4,6,8
公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文 钱买100只鸡,三种鸡都要有,如何买?
Tips: 1. 你的初步思路是什么? 2.遇到的困难是什么? 3.今天学习的for循环对你解决这个问题有没有帮助?怎么解决?
请在屏幕上输出100个 *
print “*” print “*” ........ print “*”
共100个print语句
A. 1 B.3 C.4 D.10
2. 以下程序的运行结果是( ) for j in range(1,3):
for i in range(1,5): print "*",
A.输出4个* B.输出10个* C.输出8个* D.输出15个*
3. 以下程序的运行结果是( ) for i in range(1,句的执行过程: i=1,i<101, print “*” i=2,i<101, print “*” ...... i=100,i<101,print “*” 共循环了100次
循环的条件:i<101 i 的初始值
for语句格式要注意冒号和缩进
1. 以下程序运行的结果是( ) s=0 for i in range(1,4):
1. for循环不是Python语言当中唯一的循环结构,但是是最强大 的循环结构,体现了计算机超强的计算能力。
2.程序设计的目的是让计算机帮助我们解决实际问题。 问题提出———>算法设计———>程序实现
(百鸡问题) (枚举法) (写程序输出结果)
if i%2==0: print i
A. 2,4,6,8 B. 2,4,6,8,10 C.1,3,5,7,9 D.0,2,4,6,8
公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文 钱买100只鸡,三种鸡都要有,如何买?
Tips: 1. 你的初步思路是什么? 2.遇到的困难是什么? 3.今天学习的for循环对你解决这个问题有没有帮助?怎么解决?
请在屏幕上输出100个 *
print “*” print “*” ........ print “*”
共100个print语句
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
t=t*i NEXT i
s=s+t
循环初值: i=1, 循环终值: i->10
循环体:
t=t*i
PRINT “T=10!=“;t ,“s=“;
END 问:求:t=n!,如何改s ?
返回
2021问/2/11:求:s=1!+2!+雷3宏设!计+,4版!权+所5有!+……+10!
例4.使用EXIT FOR语句,强行退出循环。
功能:当条件为真,执行循环体,到WEND后再判断条件;否则条件为假,执 行WEND后面的语句。
说明: (1)<条件>可是关系型表达式或逻辑型表达式,甚至可是一个常数,QB将一切
非零的数都视作“真”。
(2) WHILE和WEND必须成对使用。
(3)程序运行时遇到死循环,可以用Ctrl+Break键,使之强制终止程序。
功能:先判断循环〈条件〉,当条件为真(WHILE) 或为假(UNTIL)时,执行〈循环体〉;否则,退 出循环。程序运行到LOOP时,返回到DO语句处, 继续判断条件.
实例: <实例6> <实例7>
2021/2/11
雷宏设计,版权所有
返回
例6.观察下列程序的运行结果。
程序为: CLS x=10 DO WHILE x>=0 PRINT x, x=x-3 LOOP END
BASIC提供的循环语句,可分为已知 循环次数的步长的时候得以终止。
2021/2/11
雷宏设计,版权所有
返回
循环结构流程图
(T) (F)
2021/2/11
雷宏设计,版权所有
返回
固定次数的循环语句(FOR…NEXT)
➢格式:
FOR <循环变量>=<初值> TO〈终值〉[STEP <步长>]
[〈循环体〉]
[EXIT FOR]
NEXT [〈循环变量〉]
➢功能:首先把<初值>赋给<循环变量>,检查<循环
变量>的值是否超过<终值>。
如果超过就停止执行循环体,跳出循环,执
行NEXT后面的语句;
否则执行<循环体>,然后把“循环变量+步长”
的值赋给<循环变量>,重复上述过程。
➢说明
返回
➢实例:<实例1> <实例2> <实例3> <实例4>
STEP 1 可省
INPUT “姓名,成绩:";XM$,cj
sum=sum+cj
PRINT XM$,cj
NEXT i
v=sum/30
PRINT “平均分v=“;v
END
2021/2/11
雷宏设计,版权所有
返回
例2.求s=l+2+3+…+99+100的值。
分析: 循环体-- s=s+i (累加)
循环变量-- i
如:sum=0 FOR i= 1 TO 30 sum=sum+i*i IF sum >=100 THEN NEXT i PRINT sum END
运行结果为:140
EXIT FOR
2021/2/11
雷宏设计,版权所有
返回
条件循环语句(WHILE … WEND)
格式: WHILE <条件> [<循环体>] WEND
<步长>为l,可省。
(2) FOR语句和NEXT语句必须成对出现,不能单独使用。
2021/2/11
雷宏设计,版权所有
返回
例1.
顺序将30个学生的成绩、姓名输入并输出每人的姓名、成绩 和平均成绩。
分析:用FOR语句编程,将执行输入输出的语句作为循环体,
设置一个可以执行30次的循环。
问:初值:?
I=1
初值--_____
终值--_____
步长--_____
s=0
FOR i=1 TO 100
s=s+i
NEXT i
PRINT "l+2+3+…+99+100=”;s
2021/2/11
END
雷宏设计,版权所有
返回
例3
分析:
t=1*2*3*4*……10
编程:求:t=10! 这是一个累乘.
初值: t=1
DIM i,t AS LONG t=1 FOR i=1 TO 10
FOR I= _ TO _ STEP _
终值:?
I=30
循环体
步长:? 循环体:?
NEXT __ step=1 输入姓名,成绩
退出循环后做什么? ❖ 程序代码
sum=sum+cj 输出姓名,成绩
计算平均成绩
返回
2021/2/11
雷宏设计,版权输所有出平均成绩
编写程序如下:
sum=0 FOR i=1 TO 30
2021/2/11
雷宏设计,版权所有
For..next的说明:
(1) 格式中各参数的含义如下:
① <循环变量>为数值变量,作用是为循环计数。 ② <初值>,循环开始时赋给<循环变量>的值。 ③ <终值>是控制循环结束的值,当<循环变量>的值超过<终值>时, 退出循环,执行NEXT后面的语句。 ④ <步长>是每执行一次<循环体>后循环变量获得的增量,其值可 是正数或负数,但不能是0。
WHILE i <= 100
IF I MOD 2=0 THEN s=s+i
i=i+1
n=n+1
WEND
print “s=“;s,”n=“;n
END
2021/2/11
雷宏设计,版权所有
返回
格式:
DO…LOOP循环语句
DO [ WHILE | UNTIL〈条件〉]
[〈循环体〉]
[ EXIT DO ]
LOOP [ WHILE | UNTIL〈条件〉]
实例: <实例5>
2021/2/11
雷宏设计,版权所有
返回
实例5
如:求s=1+2+3…+100
s=0:i=1 WHILE i <= 100
s=s+i i=i+1 WEND print “s=“;s
问:求1--100间偶数的和及偶数个数,并 输出这些偶数?
程序代码
2021/2/11
雷宏设计,版权所有
返回
程序:
s=0:n=0:i=2 WHILE i <= 100
s=s+i i=i+2 n=n+1 WEND PRINT “s=“;s,”n=“;n END
s=0:n=0 FOR i=2 TO 100 STEP 2
s=s+i n=n+1 NEXT i PRINT “s=“;s,”n=“;n END
s=0:n=0:i=1
循环结构程序设计
❖ 本次课学习循环结构设计:
循环结构的概念 固定次数的循环语句(For..Next) 条件循环语句(While..Wend) 完整的条件循环语句(Do…Loop) 三种循环语句的比较 循环结构的嵌套 循环结构实例
2021/2/11
雷宏设计,版权所有
循环结构程序设计的概念
循环结构程序设计是指在程序中,有 规律地反复执行某一程序块的结构。称 重复执行的该程序块为它的循环体。
s=s+t
循环初值: i=1, 循环终值: i->10
循环体:
t=t*i
PRINT “T=10!=“;t ,“s=“;
END 问:求:t=n!,如何改s ?
返回
2021问/2/11:求:s=1!+2!+雷3宏设!计+,4版!权+所5有!+……+10!
例4.使用EXIT FOR语句,强行退出循环。
功能:当条件为真,执行循环体,到WEND后再判断条件;否则条件为假,执 行WEND后面的语句。
说明: (1)<条件>可是关系型表达式或逻辑型表达式,甚至可是一个常数,QB将一切
非零的数都视作“真”。
(2) WHILE和WEND必须成对使用。
(3)程序运行时遇到死循环,可以用Ctrl+Break键,使之强制终止程序。
功能:先判断循环〈条件〉,当条件为真(WHILE) 或为假(UNTIL)时,执行〈循环体〉;否则,退 出循环。程序运行到LOOP时,返回到DO语句处, 继续判断条件.
实例: <实例6> <实例7>
2021/2/11
雷宏设计,版权所有
返回
例6.观察下列程序的运行结果。
程序为: CLS x=10 DO WHILE x>=0 PRINT x, x=x-3 LOOP END
BASIC提供的循环语句,可分为已知 循环次数的步长的时候得以终止。
2021/2/11
雷宏设计,版权所有
返回
循环结构流程图
(T) (F)
2021/2/11
雷宏设计,版权所有
返回
固定次数的循环语句(FOR…NEXT)
➢格式:
FOR <循环变量>=<初值> TO〈终值〉[STEP <步长>]
[〈循环体〉]
[EXIT FOR]
NEXT [〈循环变量〉]
➢功能:首先把<初值>赋给<循环变量>,检查<循环
变量>的值是否超过<终值>。
如果超过就停止执行循环体,跳出循环,执
行NEXT后面的语句;
否则执行<循环体>,然后把“循环变量+步长”
的值赋给<循环变量>,重复上述过程。
➢说明
返回
➢实例:<实例1> <实例2> <实例3> <实例4>
STEP 1 可省
INPUT “姓名,成绩:";XM$,cj
sum=sum+cj
PRINT XM$,cj
NEXT i
v=sum/30
PRINT “平均分v=“;v
END
2021/2/11
雷宏设计,版权所有
返回
例2.求s=l+2+3+…+99+100的值。
分析: 循环体-- s=s+i (累加)
循环变量-- i
如:sum=0 FOR i= 1 TO 30 sum=sum+i*i IF sum >=100 THEN NEXT i PRINT sum END
运行结果为:140
EXIT FOR
2021/2/11
雷宏设计,版权所有
返回
条件循环语句(WHILE … WEND)
格式: WHILE <条件> [<循环体>] WEND
<步长>为l,可省。
(2) FOR语句和NEXT语句必须成对出现,不能单独使用。
2021/2/11
雷宏设计,版权所有
返回
例1.
顺序将30个学生的成绩、姓名输入并输出每人的姓名、成绩 和平均成绩。
分析:用FOR语句编程,将执行输入输出的语句作为循环体,
设置一个可以执行30次的循环。
问:初值:?
I=1
初值--_____
终值--_____
步长--_____
s=0
FOR i=1 TO 100
s=s+i
NEXT i
PRINT "l+2+3+…+99+100=”;s
2021/2/11
END
雷宏设计,版权所有
返回
例3
分析:
t=1*2*3*4*……10
编程:求:t=10! 这是一个累乘.
初值: t=1
DIM i,t AS LONG t=1 FOR i=1 TO 10
FOR I= _ TO _ STEP _
终值:?
I=30
循环体
步长:? 循环体:?
NEXT __ step=1 输入姓名,成绩
退出循环后做什么? ❖ 程序代码
sum=sum+cj 输出姓名,成绩
计算平均成绩
返回
2021/2/11
雷宏设计,版权输所有出平均成绩
编写程序如下:
sum=0 FOR i=1 TO 30
2021/2/11
雷宏设计,版权所有
For..next的说明:
(1) 格式中各参数的含义如下:
① <循环变量>为数值变量,作用是为循环计数。 ② <初值>,循环开始时赋给<循环变量>的值。 ③ <终值>是控制循环结束的值,当<循环变量>的值超过<终值>时, 退出循环,执行NEXT后面的语句。 ④ <步长>是每执行一次<循环体>后循环变量获得的增量,其值可 是正数或负数,但不能是0。
WHILE i <= 100
IF I MOD 2=0 THEN s=s+i
i=i+1
n=n+1
WEND
print “s=“;s,”n=“;n
END
2021/2/11
雷宏设计,版权所有
返回
格式:
DO…LOOP循环语句
DO [ WHILE | UNTIL〈条件〉]
[〈循环体〉]
[ EXIT DO ]
LOOP [ WHILE | UNTIL〈条件〉]
实例: <实例5>
2021/2/11
雷宏设计,版权所有
返回
实例5
如:求s=1+2+3…+100
s=0:i=1 WHILE i <= 100
s=s+i i=i+1 WEND print “s=“;s
问:求1--100间偶数的和及偶数个数,并 输出这些偶数?
程序代码
2021/2/11
雷宏设计,版权所有
返回
程序:
s=0:n=0:i=2 WHILE i <= 100
s=s+i i=i+2 n=n+1 WEND PRINT “s=“;s,”n=“;n END
s=0:n=0 FOR i=2 TO 100 STEP 2
s=s+i n=n+1 NEXT i PRINT “s=“;s,”n=“;n END
s=0:n=0:i=1
循环结构程序设计
❖ 本次课学习循环结构设计:
循环结构的概念 固定次数的循环语句(For..Next) 条件循环语句(While..Wend) 完整的条件循环语句(Do…Loop) 三种循环语句的比较 循环结构的嵌套 循环结构实例
2021/2/11
雷宏设计,版权所有
循环结构程序设计的概念
循环结构程序设计是指在程序中,有 规律地反复执行某一程序块的结构。称 重复执行的该程序块为它的循环体。