循环结构程序设计PPT课件
合集下载
实验03 循环结构程序设计 ppt课件

四、问题讨论 通过实验,你发现了什么问题?Do while循环中
为何不同的x值其迭代的次数明显不同?
2020/12/2
8
实验03 循环结构程序设计
一、实验目的 二、实验内容 三、注意事项 四、问题讨论
2020/12/2
1
一、实验目的
1、进一步掌握关系表达式和逻辑表达式; 2、掌握循环控制条件的描述;掌握三种循环结构的特征及
相互之间的等价转换;掌握DO、DO WHILE语句的语法规 则和使用要求; 3、掌握循环结构概念和循环结构程序设计方法。
2020/12/2
6
二、实验内容
2、在1500中,找出能同时满足用3除余2,用5除余3, 用7除余2的所有整数。编写程序实现之。(P194)
编程要求:利用DO循环语句和IF块语句实现。
2020/12/2
7
三、注意事项
(1)注意循环结构的特点,如DO循环、DO WHILE循环。 (2)注意循环结构与块IF语句混合使用的特点。
e e 要求输出 x 数值、 x 标准函数值EXP(x),以便对比
数据精度要求7位有效数字。
统计并输出do while循环中的迭代次数
(4)实验模型:
x = 0.8
n=5
x = -0.8
n=10
x = 50
n=100
(5)实验报告中只需画DO循环或do while循环中的一种流程图,
但2个源程序必须出现在报告中。
② 迭代种是根据级数第n项的绝对值小于事先给定的一个小正数eps(eps<=1E-7),迭
代就终止;(用Do While循环语句实现)
202一0/1种2/2是给定求和次数进行求和计算。(用DO循环语句实现)
为何不同的x值其迭代的次数明显不同?
2020/12/2
8
实验03 循环结构程序设计
一、实验目的 二、实验内容 三、注意事项 四、问题讨论
2020/12/2
1
一、实验目的
1、进一步掌握关系表达式和逻辑表达式; 2、掌握循环控制条件的描述;掌握三种循环结构的特征及
相互之间的等价转换;掌握DO、DO WHILE语句的语法规 则和使用要求; 3、掌握循环结构概念和循环结构程序设计方法。
2020/12/2
6
二、实验内容
2、在1500中,找出能同时满足用3除余2,用5除余3, 用7除余2的所有整数。编写程序实现之。(P194)
编程要求:利用DO循环语句和IF块语句实现。
2020/12/2
7
三、注意事项
(1)注意循环结构的特点,如DO循环、DO WHILE循环。 (2)注意循环结构与块IF语句混合使用的特点。
e e 要求输出 x 数值、 x 标准函数值EXP(x),以便对比
数据精度要求7位有效数字。
统计并输出do while循环中的迭代次数
(4)实验模型:
x = 0.8
n=5
x = -0.8
n=10
x = 50
n=100
(5)实验报告中只需画DO循环或do while循环中的一种流程图,
但2个源程序必须出现在报告中。
② 迭代种是根据级数第n项的绝对值小于事先给定的一个小正数eps(eps<=1E-7),迭
代就终止;(用Do While循环语句实现)
202一0/1种2/2是给定求和次数进行求和计算。(用DO循环语句实现)
C语言程序设计课件 第4章 循环结构.ppt

10
while语句
语法形式:
while (表达0(式假)) 表达式?循环体;
非0(真) 循环体
后续语句
11
执行过程:
step1:求解表达式,若 为0(假),则退出循 环执行后续语句。若 为非0(真),则执行 循环体。
step2: 转回step1继续 判断。
while语句应用实例
【例4.3】从键盘上读入一个非0的整数,统计该数的
语句功能
{count++; number=number/10;
?
}
printf ("It contains %d digits.\n",count);
}
12
while语句应用实例
【例4.4】计算表达式a+aa+aaa+…+aaa…a,其中a与x的值从 键盘上输入。
int a,x;
long sum=0,n=1,tn;
scanf("%d,%d", &a,&x);
tn=a; while(n<=x) {sum+=tn; tn=tn*10+a; n++;
循环次数 第1次 第2次 第3次 第4次
循环条件 1<=4为真 2<=4为真 3<=4为真 4<=4为真
}
第5次
5<=4为假
sum值
tn值
n值
0+2
2*10+2
2
2+22
C语言程序设计
第4章 循环结构
本章主要内容
1. 循环结构设计理念 2. for循环语句 3. while循环语句 4. do…while循环语句 5. 循环嵌套 6. 流程控制语句
while语句
语法形式:
while (表达0(式假)) 表达式?循环体;
非0(真) 循环体
后续语句
11
执行过程:
step1:求解表达式,若 为0(假),则退出循 环执行后续语句。若 为非0(真),则执行 循环体。
step2: 转回step1继续 判断。
while语句应用实例
【例4.3】从键盘上读入一个非0的整数,统计该数的
语句功能
{count++; number=number/10;
?
}
printf ("It contains %d digits.\n",count);
}
12
while语句应用实例
【例4.4】计算表达式a+aa+aaa+…+aaa…a,其中a与x的值从 键盘上输入。
int a,x;
long sum=0,n=1,tn;
scanf("%d,%d", &a,&x);
tn=a; while(n<=x) {sum+=tn; tn=tn*10+a; n++;
循环次数 第1次 第2次 第3次 第4次
循环条件 1<=4为真 2<=4为真 3<=4为真 4<=4为真
}
第5次
5<=4为假
sum值
tn值
n值
0+2
2*10+2
2
2+22
C语言程序设计
第4章 循环结构
本章主要内容
1. 循环结构设计理念 2. for循环语句 3. while循环语句 4. do…while循环语句 5. 循环嵌套 6. 流程控制语句
第5章-循环结构程序设计PPT优秀课件

17
5.3.1 前测型Do…Loop循环语句
格式:
Do [While | Until <条件表达式>] <语句块> [Exit Do] <语句块>
Loop
18
5.3.1 前测型Do…Loop循环语句
前测型Do…Loop循环的流程图
Do While…Loop流程图
Do Until…Loop流程图
条件表达式 值为真?
格式:
Do <语句块> [Exit Do] <语句块>
Loop [While | Until <条件表达式>]
23
5.3.1 后测型Do…Loop循环语句
说明:
后测型Do…Loop循环语句与前测型Do…Loop循环语句的主 要区别在于:
后测型要先执行一次循环体,再判断条件;而前测型要 先判断条件,然后根据判断结果决定是否执行循环体。因此 对于后测型,不管条件是否满足,循环体至少有一次执行机 会。
16
5.3 Do…Loop循环语句
导入:
Do…Loop循环也属于条件型循环,即根据条件的 成立与否来决定是否执行循环。Do…Loop循环的应 用具有很强的灵活性,主要体现在:它既能指定循环 开始条件,又能指定循环结束条件;既能构成前测型 Do…Loop循环语句,又能构成后测型Do…Loop循 环语句。
25
5.3.1 后测型Do…Loop循环语句 【例5-10】将400~600间能够被3整除的数 输出(上机练习)
【例5-11】(略)
26
5.4 循环嵌套
介绍:
一个循环结构中又包含一个或多个循环结构被称为 循环嵌套,或称多重循环。 多重循环对嵌套的层数没有限制。有几层嵌套,就 称为几重循环,如二重循环、三重循环、四重循环 等。一般地,把嵌套在一个循环体内部的另一个循 环结构称为内循环;这样,嵌套了其他内循环部分 的循环结构就称为外循环。 为了使多重循环结构具有较好的可读性,通常用缩 进方式书写相应的源代码。
5.3.1 前测型Do…Loop循环语句
格式:
Do [While | Until <条件表达式>] <语句块> [Exit Do] <语句块>
Loop
18
5.3.1 前测型Do…Loop循环语句
前测型Do…Loop循环的流程图
Do While…Loop流程图
Do Until…Loop流程图
条件表达式 值为真?
格式:
Do <语句块> [Exit Do] <语句块>
Loop [While | Until <条件表达式>]
23
5.3.1 后测型Do…Loop循环语句
说明:
后测型Do…Loop循环语句与前测型Do…Loop循环语句的主 要区别在于:
后测型要先执行一次循环体,再判断条件;而前测型要 先判断条件,然后根据判断结果决定是否执行循环体。因此 对于后测型,不管条件是否满足,循环体至少有一次执行机 会。
16
5.3 Do…Loop循环语句
导入:
Do…Loop循环也属于条件型循环,即根据条件的 成立与否来决定是否执行循环。Do…Loop循环的应 用具有很强的灵活性,主要体现在:它既能指定循环 开始条件,又能指定循环结束条件;既能构成前测型 Do…Loop循环语句,又能构成后测型Do…Loop循 环语句。
25
5.3.1 后测型Do…Loop循环语句 【例5-10】将400~600间能够被3整除的数 输出(上机练习)
【例5-11】(略)
26
5.4 循环嵌套
介绍:
一个循环结构中又包含一个或多个循环结构被称为 循环嵌套,或称多重循环。 多重循环对嵌套的层数没有限制。有几层嵌套,就 称为几重循环,如二重循环、三重循环、四重循环 等。一般地,把嵌套在一个循环体内部的另一个循 环结构称为内循环;这样,嵌套了其他内循环部分 的循环结构就称为外循环。 为了使多重循环结构具有较好的可读性,通常用缩 进方式书写相应的源代码。
C语言第5章循环结构PPT课件

格式:while (条件1)
3. 用for 语句实现循环 4. 循环的嵌套
5. break语句和continue语句 6. 几种循环的比较 7. 程 序 举 例
第2页/共63页
一、循环概述
3
第3页/共63页
在很多实际问题中会遇到有规律性的重复运算,因 此在程序中就需要将某些语句重复执行。 • 一组被重复执行的语句称为循环体; • 每重复一次,都必须作出是继续还是停止循环的决 定,这个决定所依据的条件称为循环条件;
do {
......
for(;;) { ......
}while();
}
47
第47页/共63页
例7. 打印乘法“九九表”
1 2 3 4 56 7 89 11 22 4 33 6 9 4 4 8 12 16 5 5 10 15 20 25 6 6 12 18 24 30 36 7 7 14 21 28 35 42 49 8 8 16 24 32 40 48 56 64 9 9 18 27 36 45 54 63 72 81
循环的概念 用while语句和do-while语句实现循环
用for 语句实现循环 循环的嵌套
break语句和continue语句 几种循环的比较 程序举例
第44页/共63页
循环的嵌环中还可以嵌套循环,这就是多重循环。
循环1
循环2
28
第28页/共63页
29
第29页/共63页
(2):从高位到低位求每一位。
30
第30页/共63页
(3):从低位到高位求每一位。
31
第31页/共63页
循环结构程序设计
1. 循环的概念 2. 用while语句和do-while语句实现循环
3. 用for 语句实现循环 4. 循环的嵌套
5. break语句和continue语句 6. 几种循环的比较 7. 程 序 举 例
第2页/共63页
一、循环概述
3
第3页/共63页
在很多实际问题中会遇到有规律性的重复运算,因 此在程序中就需要将某些语句重复执行。 • 一组被重复执行的语句称为循环体; • 每重复一次,都必须作出是继续还是停止循环的决 定,这个决定所依据的条件称为循环条件;
do {
......
for(;;) { ......
}while();
}
47
第47页/共63页
例7. 打印乘法“九九表”
1 2 3 4 56 7 89 11 22 4 33 6 9 4 4 8 12 16 5 5 10 15 20 25 6 6 12 18 24 30 36 7 7 14 21 28 35 42 49 8 8 16 24 32 40 48 56 64 9 9 18 27 36 45 54 63 72 81
循环的概念 用while语句和do-while语句实现循环
用for 语句实现循环 循环的嵌套
break语句和continue语句 几种循环的比较 程序举例
第44页/共63页
循环的嵌环中还可以嵌套循环,这就是多重循环。
循环1
循环2
28
第28页/共63页
29
第29页/共63页
(2):从高位到低位求每一位。
30
第30页/共63页
(3):从低位到高位求每一位。
31
第31页/共63页
循环结构程序设计
1. 循环的概念 2. 用while语句和do-while语句实现循环
流程图(循环结构)PPT课件

循环变量循环变量的后继10成立成立不成立当型循环直到型循环先执行循环体然后再检查条件是否成立如果不成立就重复执行循环体直到条件成立退出循环
流程图---循环结构
1
问题:北京获得了2008年第29届奥林匹克运动 会主办权.你知道在申办奥运会的最后阶级,国际 奥委会是如何通过投票决定主办权归属的吗?
用怎样的算法结构表述上面的操作过程? S1: 投票; S2:统计票数,如果有一个城市得票超过总票 数的一半,那么该城市就获得主办权,转S3, 否则淘汰得票数最少的城市,转S1; S3: 宣布主办城市.
开始
S1 S 1 ; 2
S 2 i 1;
S3 S 1 ; 2+S
S 4 i i 1; S 5 如 果 i大 于 5, 则 输 出 S,
算 法 结 束 , 否 则 转 S3
S←1/2
i←1
S←1/(2+S)
i ← i +1 i>5 N Y 输出S
结束
12
设计一个计算10个数的平均数的算法.
解:S1 S←0
把0赋值给变量S;
S2 I←1
把1赋值给变量I;
S3 输入G
输入一个数;
S4 S←S+G
把S+G赋值给变量S;
S5 I←I+1
把I+1赋值给变量I;
S6 如果I不大于10,转S3 转到S3循环;
S7 A←S /10
把S/10存放到A中;
S8 输出A 13
设计一个求1+2+4+7+…+46的算法,并画出相应 的程序框图.
6
当
型
循环体
循
环 结
满足条件? Y
流程图---循环结构
1
问题:北京获得了2008年第29届奥林匹克运动 会主办权.你知道在申办奥运会的最后阶级,国际 奥委会是如何通过投票决定主办权归属的吗?
用怎样的算法结构表述上面的操作过程? S1: 投票; S2:统计票数,如果有一个城市得票超过总票 数的一半,那么该城市就获得主办权,转S3, 否则淘汰得票数最少的城市,转S1; S3: 宣布主办城市.
开始
S1 S 1 ; 2
S 2 i 1;
S3 S 1 ; 2+S
S 4 i i 1; S 5 如 果 i大 于 5, 则 输 出 S,
算 法 结 束 , 否 则 转 S3
S←1/2
i←1
S←1/(2+S)
i ← i +1 i>5 N Y 输出S
结束
12
设计一个计算10个数的平均数的算法.
解:S1 S←0
把0赋值给变量S;
S2 I←1
把1赋值给变量I;
S3 输入G
输入一个数;
S4 S←S+G
把S+G赋值给变量S;
S5 I←I+1
把I+1赋值给变量I;
S6 如果I不大于10,转S3 转到S3循环;
S7 A←S /10
把S/10存放到A中;
S8 输出A 13
设计一个求1+2+4+7+…+46的算法,并画出相应 的程序框图.
6
当
型
循环体
循
环 结
满足条件? Y
Python程序设计循环结构程序设计ppt课件

1-21
第6次上机作业: 1.计算,参考值: S=1.718282
S 1 1 1
1
1*2 1*2*3
1*2*3* 50
2.编程求斐波拉契数列的前20项,已知该数列
的第一、二项分别0、1,从第三项开始,每
一项都是前两项之和。例如:0, 1, 1, 2, 3, 5,
8, 13……
3.求1~100之间所有的素数,并统计素数的 个数。
(1)顺序结构(2)选择结构(3)循环结构
顺序结构 —— 是指程序流程按先后顺序执行,只有执行
了前一步,才能执行后一步。例如火车在轨道上行驶,只 有过了上一站点才能到达下一站点。
选择结构 —— 又称分支结构,是指程序流程可以分几条
路径执行。例如在一个十字路口处,可以选择向东、南、 西、北几个方向行走。
程序:
#Exp4_4.py
a_list = ['a', 'b', 'mpilgrim', 'z', 'example']
i 小于列表长度吗? True
输出列表元素
False
i 自增 1
结束 图 4-6 依次输出列表元素的框图
Copyright © SWFU-CISD, 2012. All rights reserved.
a_len = len(a_list)
i=0
while i < a_len: print '列表的第', i+1, '个元 素是:', a_list[i]
i += 1
1-20
练习:
1. 求1+3+5+…+99 2. 求2*4*6*…*12
第5章 循环结构程序设计PPT课件

}
C语言程序设计
第5章 循环结构程序设计
§ 5.2 用while语句实现循环i=1w; hile (i<=100)
2、while语句的注意事项
{ sum=sum+i;
注意:
i++; }
(1) 循环体如果包含一个以上的语句,应该用花括弧括
起来,以复合语句形式出现
(2) 在循环体中应有使循环趋向于结束的语句。如果无
C语言程序设计
第5章 循环结构程序设计
§ 5.2 用while语句实现循环
1、while语句的一般形式
while语句用来实现“当型”循环结构 一般形式: while (表达式)
循环体语句
当表达式为非0值时,执行while 语句中的循环体语句 其特点是:
先判断表达式,后执行语句
C语言程序设计
第5章 循环结构程序设计
} 运行结果:
}
1↙ sum=55 再运行一次:
}说明:当while后面的表达式的第一次的
值为“真”时,两种循环得到的结果相
11↙ sum=0
同。否则,二者结果不相同
C语言程序设计
第5章 循环结构程序设计
§ 5.4 用for语句实现循环
1、for语句的一般形式
C语言中的for语句使用最为灵活,不仅可以用于 循环次数已经确定的情况,而且可以用于循环次数 不确定而只给出循环结束条件的情况,它完全可以 代替while语句
语句,转到第(5)步
(3) 求解表达式3
(4) 转第(2)步骤继续执行
(5) 循环结束,执行for语句下面的一个语句
C语言程序设计
第5章 循环结
执行表达式1
循环初始条件
《循环程序设计》课件

避免死循环的方法
在编写循环程序时,应确 保循环终止条件在某个时 刻能够满足,或者在循环 体内有退出循环的语句。
死循环的危害
死循环会导致程序无法正 常结束,消耗大量的系统 资源,甚至可能导致系统 崩溃。
提高循环的效率
循环优化原则
在保证程序正确的前提下,尽可能减少循环次数,提高循环的执 行效率。
减少循环体内的计算
冒泡排序算法的时间复杂度
冒泡排序的时间复杂度为O(n^2),其中n为待排序的元素个数。因为冒泡排序需要重复遍 历整个列表,每次遍历都需要进行n次比较和交换操作。
斐波那契数列的求解
斐波那契数列的定义
斐波那契数列是一个数列,其中每个数字是前两个数字的和。第一个数字和第二个数字都是1,之后的每个数字都是 前两个数字的和。
《循环程序设计》ppt 课件
目录
• 循环程序设计概述 • 循环控制结构 • 循环嵌套 • 循环程序设计的实际应用 • 循环程序设计的优化与调试
01
循环程序设计概述
循环的定义与特点
总结词
描述循环的定义、特点以及在程序中的作 用。
嵌套循环
循环可以嵌套在其他循环内部,形成多层 循环结构。
详细描述
循环是一种重复执行一段代码的程序结构 ,它允许在满足特定条件时重复执行代码 块。循环具有以下特点
斐波那契数列的求解
在Python中,可以使用循环来计算斐波那契数列中的每个数字。具体实现过程是,定义两个变量分别表示前两个数 字,然后使用一个循环来计算斐波那契数列中的每个数字,直到达到所需的数字为止。
斐波那契数列的递归实现
另一种实现方法是使用递归。递归的实现方式是,定义一个函数来计算斐波那契数列中的第n个数字,然 后在函数中调用自身来计算前两个数字的和。递归的实现方式虽然简洁,但是效率较低,因为需要重复 计算相同的数字。
循环结构的程序实现课件(共27张PPT)浙教版(2019)高中信息技术必修1

xb='女' else:
xb='男' print("您的出生日期为:",a[6:10],'年',a[10:12],'月',a[12:14],'日,性 别为',xb)
练一练,请完成889页第7题
练一练,请完成89页第7题
random.randint(a,b)
for i in range(100, 1000):
b = i // 100
s=
g = i % 10
if
:
print(i)
划线处①的程序是 i // 10% 10 ,划线处②的程序是i == b**3 + s**3。+ g**3
练一练,请完成89页第3题
a=input('请输入身份证号:') if int(a[16])%2==0:
请用for循环求1~100的和:
请用for循环求1~100所有偶数的和(书上89页第4题):
方法一:
请用for循环求1~100所有偶数的和(书上89页第4题):
方法二:
循环结构的程序实现
while循环语句格式
循环体是一条或多条语句,当条件为真时, 循环体重复执行;当条件为假时,循环终止 。
P83 问题与讨论
练一练
1.输出程序运行结果
sum=0 for i in range(1,11):
sum=sum+i print(sum)
i=1,sum=0
N
i<=10
sum=sum+i i+=1
输出sum的值
练一练
2. 有如下程序段:
s=0
for i in range(1, 11, 2):
xb='男' print("您的出生日期为:",a[6:10],'年',a[10:12],'月',a[12:14],'日,性 别为',xb)
练一练,请完成889页第7题
练一练,请完成89页第7题
random.randint(a,b)
for i in range(100, 1000):
b = i // 100
s=
g = i % 10
if
:
print(i)
划线处①的程序是 i // 10% 10 ,划线处②的程序是i == b**3 + s**3。+ g**3
练一练,请完成89页第3题
a=input('请输入身份证号:') if int(a[16])%2==0:
请用for循环求1~100的和:
请用for循环求1~100所有偶数的和(书上89页第4题):
方法一:
请用for循环求1~100所有偶数的和(书上89页第4题):
方法二:
循环结构的程序实现
while循环语句格式
循环体是一条或多条语句,当条件为真时, 循环体重复执行;当条件为假时,循环终止 。
P83 问题与讨论
练一练
1.输出程序运行结果
sum=0 for i in range(1,11):
sum=sum+i print(sum)
i=1,sum=0
N
i<=10
sum=sum+i i+=1
输出sum的值
练一练
2. 有如下程序段:
s=0
for i in range(1, 11, 2):
循环程序设计PPT课件

…
表达式? N
Y
后续语句
第23页/共59页
for语句 计算表达式1
表达式2? N
Y… continue;
… 计算表达式3
后续语句
[例]:用while语句求n项和
#include<stdio.h> main() {int i,sum=0; i=1; while(i<=100)
{sum=sum+i; i++; } printf("%d\n",sum); }
while 循环程序 #include<stdio.h>
do -while 循环程序 #include<stdio.h>
main()
main()
{int i,sum=0;
{int i,sum=0;
scanf("%d",&i);
scanf("%d",&i);
while(i<=10)
do
{sum=sum+i;
main()
main()
{ int x,sum=0; scanf("%d",&x);
{ int x,sum=0;
do
结果:sum=-2
while(x>=0) 结果:sum=8 { sum=sum+x;结果:sum=0
scanf("%d",&x);
{
结果:sum=-10
scanf("%d",&x);
sum=sum+x;
do—while循环体中一定要有能使表达式值 趋于0的操作(如i++),否则会出现死循环。
表达式? N
Y
后续语句
第23页/共59页
for语句 计算表达式1
表达式2? N
Y… continue;
… 计算表达式3
后续语句
[例]:用while语句求n项和
#include<stdio.h> main() {int i,sum=0; i=1; while(i<=100)
{sum=sum+i; i++; } printf("%d\n",sum); }
while 循环程序 #include<stdio.h>
do -while 循环程序 #include<stdio.h>
main()
main()
{int i,sum=0;
{int i,sum=0;
scanf("%d",&i);
scanf("%d",&i);
while(i<=10)
do
{sum=sum+i;
main()
main()
{ int x,sum=0; scanf("%d",&x);
{ int x,sum=0;
do
结果:sum=-2
while(x>=0) 结果:sum=8 { sum=sum+x;结果:sum=0
scanf("%d",&x);
{
结果:sum=-10
scanf("%d",&x);
sum=sum+x;
do—while循环体中一定要有能使表达式值 趋于0的操作(如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课件

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);
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
是循环重复执行的部 分
.
5.1.1 while语句
6
功能:计算表达式的值,为非0(逻辑真)时,
重复执行内嵌语句,每执行一次,就判断一次表
达式的值,直到表达式的值为0 时结束循环,转
去执行while后面的语句。
流程图 循环控制条件
N-S结构图
N
表达式非 0?
Y
语句
当表达式为真 语句
循环体
.
5.1.1 while语句(举例)
.}
5.1.2 do-while语句(说明:)
14
while和do-while都能实现循环控制,while结构程序通常 都可以转换成do-while结构。
区别: – do- while 语句先执行循环体再判断条件,循环体至 少执行一次; – while 语句先判断条件再执行循环体,循环体有可能 一次也不执行。
#include <stdio.h>
思路:
void main( )
{
求累加和:确定c变ha量r lcehn;,初值为0
确定循环条件:in输t入le字n=符0;不为0,即getchar()!=‘0’ printf("请输入字符:\n");
自学: P58例4-1; P61例4-2。
while((ch=getchar())!=‘0’) { putchar(ch);
到满足精度的要求,即最后一项的绝对值小于10-5时 循环停止。循环次数事先未知。
–以二维形式打印乘法九九表,属于双重循环问题。
.
循环结构类型
流
N
P成立
程 图
Y?
A
N-S
流
当P成立时
程 图
A
当型循环.Leabharlann 3AP成立
Y
N?
A 当P成立时
直到型循环
本章主要内容
4
5.1 C语言的循环语句
5.1.1 while语句(当型循环) 5.1.2 do-while语句(直到型循环) 5.1.3 for语句 5.1.4 三种循环语句的比较和使用
do—while循环体中一定要有能使表达式值趋于0的操作
(如i++),否则会出现死循环。
.
while 和 do-while 的用法比较
15
输入一些数,求和,直到输入负数为止。
#include <stdio.h>
#include <stdio.h>
void main( )
void main( )
{
5.2 循环的跳转
5.2.1 break语句 5.2.2 continue语句
5.3 循环嵌套 5.4 循环结构程序设计举例
.
5.1.1 while语句
5
语句一般格式 while (表达式) 语句
一般为关系表达式或逻 辑表达式,也可以是C 语言其他类型的合法表 达式
用来控制循环体是否执 行
称为内嵌语句,可以 是基本语句、控制语 句,也可以是复合语 句
sum=5150 原因是什么?
.
注意(续):
10
为了保证循环正常运行,应该特别注意: – 循环控制条件的描述 – 控制条件的初始状态(初始值) – 循环体内部对控制条件的影响
.
5.1.1 while语句(举例)
11
【例5.2】编写程序,从键盘输入字符,直到输入
的字符为0时停程止序,统计输入的字符个数。
.
注意:
9
如果while的 (表达式) 值为0,则循环体一次也不执行 (例如当i的初值=101) 。
在循环体中必须有使循环趋向结束的操作,否则循环将 无限进行(死循环)。
在循环体中,语句的先后位置必须符合逻辑,否则会影 响运算结果。
思考程序段的输出?
……
运行后,输出:
while (i<=100) { i++; sum=sum+i; }
sum=sum+i i++ 输出sum
i: 循环控制变量 sum: 累加器
程序输出结果: sum=5050
8
#include <stdio.h> main( ) { int i,sum;
i=1; sum=0; while (i<=100)
{ sum=sum+i; i++; }
printf("sum=%d\n",sum); }
5.1.2 do-while语句(简单应用) 16
【例5.3】用辗转相除法求m和n的最大公约数。
所谓辗转相除#法in程c,l序u即de用<stdio.h>N-S结构图:
.
do-while循环的算法
13
流程图
循环体
N-S结构图
循环体 当表达式为真
Y main( )
表达式非0?
{ int i=1,sum=0;
N
do
例:用do-while语句 求100个自然数的和
{ sum=sum+i; i++;
} while (i<=100);
printf("%d\n",sum);
{
int x, sum=0;
int x, sum=0;
do{
scanf("%d", &x);
sum+=x;
sum-x
} while (x>0);
printf("sum=%d", sum);
}
输入 1 2 5 -10
输入 -10 1 2 5
.
scanf("%d", &x); while (x>0){
sum+=x; scanf("%d", &x); }; printf("sum=%d", sum); }
C 语言程序设计
第5章 循环结构程序设计
循环结构的应用场合
2
循环结构是指根据问题的需要任意次地重复执行一行或 多行语句。具体地说就是某些语句在某一条件成立时, 需要重复执行,直到条件不成立时才结束重复执行。
循环结构的应用场合
– 计算1+2+3+…+n,属于循环累加问题,总共执行n次。 – 计算n!=1×2×3×…×n,属于循环累乘问题,执行n次。 –计算e的近似值,e=1+1/1!+1/2!+1/3!+…+1/n!,直
len++; } printf("字符个数为:%d\n", len);
} .
5.1.2 do-while语句
12
语句一般格式 do 语句 while (表达式);
功能:
– 先执行内嵌语句(循环体),之后计算表达式 的值,不为0(逻辑真)时,再执行循环体并 判断条件,直到表达式的值为 0 结束循环,转 去执行while下面的语句。
7
【例5.1】编写程序,求100个自然数的和 即: s=1+2+3+ … +100
思路:寻找加数与求和的规律
加数i——从1变到100,每循环一次,使i增1,直到i的 值超过100。i的初值设为1。
求和——设变量 sum 存放和,循环求sum=sum+i, 直至i超过100。
.
算法和程序:
i=1,sum=0 当i <= 100
.
5.1.1 while语句
6
功能:计算表达式的值,为非0(逻辑真)时,
重复执行内嵌语句,每执行一次,就判断一次表
达式的值,直到表达式的值为0 时结束循环,转
去执行while后面的语句。
流程图 循环控制条件
N-S结构图
N
表达式非 0?
Y
语句
当表达式为真 语句
循环体
.
5.1.1 while语句(举例)
.}
5.1.2 do-while语句(说明:)
14
while和do-while都能实现循环控制,while结构程序通常 都可以转换成do-while结构。
区别: – do- while 语句先执行循环体再判断条件,循环体至 少执行一次; – while 语句先判断条件再执行循环体,循环体有可能 一次也不执行。
#include <stdio.h>
思路:
void main( )
{
求累加和:确定c变ha量r lcehn;,初值为0
确定循环条件:in输t入le字n=符0;不为0,即getchar()!=‘0’ printf("请输入字符:\n");
自学: P58例4-1; P61例4-2。
while((ch=getchar())!=‘0’) { putchar(ch);
到满足精度的要求,即最后一项的绝对值小于10-5时 循环停止。循环次数事先未知。
–以二维形式打印乘法九九表,属于双重循环问题。
.
循环结构类型
流
N
P成立
程 图
Y?
A
N-S
流
当P成立时
程 图
A
当型循环.Leabharlann 3AP成立
Y
N?
A 当P成立时
直到型循环
本章主要内容
4
5.1 C语言的循环语句
5.1.1 while语句(当型循环) 5.1.2 do-while语句(直到型循环) 5.1.3 for语句 5.1.4 三种循环语句的比较和使用
do—while循环体中一定要有能使表达式值趋于0的操作
(如i++),否则会出现死循环。
.
while 和 do-while 的用法比较
15
输入一些数,求和,直到输入负数为止。
#include <stdio.h>
#include <stdio.h>
void main( )
void main( )
{
5.2 循环的跳转
5.2.1 break语句 5.2.2 continue语句
5.3 循环嵌套 5.4 循环结构程序设计举例
.
5.1.1 while语句
5
语句一般格式 while (表达式) 语句
一般为关系表达式或逻 辑表达式,也可以是C 语言其他类型的合法表 达式
用来控制循环体是否执 行
称为内嵌语句,可以 是基本语句、控制语 句,也可以是复合语 句
sum=5150 原因是什么?
.
注意(续):
10
为了保证循环正常运行,应该特别注意: – 循环控制条件的描述 – 控制条件的初始状态(初始值) – 循环体内部对控制条件的影响
.
5.1.1 while语句(举例)
11
【例5.2】编写程序,从键盘输入字符,直到输入
的字符为0时停程止序,统计输入的字符个数。
.
注意:
9
如果while的 (表达式) 值为0,则循环体一次也不执行 (例如当i的初值=101) 。
在循环体中必须有使循环趋向结束的操作,否则循环将 无限进行(死循环)。
在循环体中,语句的先后位置必须符合逻辑,否则会影 响运算结果。
思考程序段的输出?
……
运行后,输出:
while (i<=100) { i++; sum=sum+i; }
sum=sum+i i++ 输出sum
i: 循环控制变量 sum: 累加器
程序输出结果: sum=5050
8
#include <stdio.h> main( ) { int i,sum;
i=1; sum=0; while (i<=100)
{ sum=sum+i; i++; }
printf("sum=%d\n",sum); }
5.1.2 do-while语句(简单应用) 16
【例5.3】用辗转相除法求m和n的最大公约数。
所谓辗转相除#法in程c,l序u即de用<stdio.h>N-S结构图:
.
do-while循环的算法
13
流程图
循环体
N-S结构图
循环体 当表达式为真
Y main( )
表达式非0?
{ int i=1,sum=0;
N
do
例:用do-while语句 求100个自然数的和
{ sum=sum+i; i++;
} while (i<=100);
printf("%d\n",sum);
{
int x, sum=0;
int x, sum=0;
do{
scanf("%d", &x);
sum+=x;
sum-x
} while (x>0);
printf("sum=%d", sum);
}
输入 1 2 5 -10
输入 -10 1 2 5
.
scanf("%d", &x); while (x>0){
sum+=x; scanf("%d", &x); }; printf("sum=%d", sum); }
C 语言程序设计
第5章 循环结构程序设计
循环结构的应用场合
2
循环结构是指根据问题的需要任意次地重复执行一行或 多行语句。具体地说就是某些语句在某一条件成立时, 需要重复执行,直到条件不成立时才结束重复执行。
循环结构的应用场合
– 计算1+2+3+…+n,属于循环累加问题,总共执行n次。 – 计算n!=1×2×3×…×n,属于循环累乘问题,执行n次。 –计算e的近似值,e=1+1/1!+1/2!+1/3!+…+1/n!,直
len++; } printf("字符个数为:%d\n", len);
} .
5.1.2 do-while语句
12
语句一般格式 do 语句 while (表达式);
功能:
– 先执行内嵌语句(循环体),之后计算表达式 的值,不为0(逻辑真)时,再执行循环体并 判断条件,直到表达式的值为 0 结束循环,转 去执行while下面的语句。
7
【例5.1】编写程序,求100个自然数的和 即: s=1+2+3+ … +100
思路:寻找加数与求和的规律
加数i——从1变到100,每循环一次,使i增1,直到i的 值超过100。i的初值设为1。
求和——设变量 sum 存放和,循环求sum=sum+i, 直至i超过100。
.
算法和程序:
i=1,sum=0 当i <= 100