哈工大c语言教学6-循环控制结构PPT课件
合集下载
C语言循环结构ppt课件

do-while的下一条语句
while的下一条语句
12:56
第27页
循环语句的选择
if(循环次数已知)
使用for语句
else
/* 循环次数未知 */
if (循环条件在进入循环时明确)
使用while语句
else /* 循环条件需要在循环体中明确 */ 使用do-while语句
12:56
第28页
§5.4 用于循环中的break和continue语句
12:56
第5页
③ <循环表达式>亦可省略,但在循环语句体中必须有 语句来修改循环变量,以使条件表达式的值在某一时 刻为0,从而能正常结束循环。 如:for(sum=0, i=1; i<=100;)
{ sum = sum +i; i++;
}
④ 三个表达式均省略,即for(;;),为无限循环,程序 中要避免这种情况的发生。
printf(“Grade average is %.2f\n", (total+1)/(num-1));
return 0;
}
12:56
第23页
【 例 5 - 8 】 求 sin(x)=x-x3/3!+x5/5!-x7/7!+… 直 到 最后一项绝对值小于le-7(即10-7)为止。 分析:
多项式从第二项起,每一项都是前一项乘以一个因子,
do_while语句是另一种用于产生循环动作的语句。 一般形式为:
do { <循环体语句> }while(<表达式>);
do_while语句的流程图 :
功能:先执行一次<循环体语句>,然后计算<表达式>的值, 若该值为“真”,则重复以上的操作,直到该值为“假”, 则退出循环语句,执行下一条语句。
c语言循环课件资料

例:求100 ~200之间的全部素数。 算法:枚举100 ~200之间的素数。
#include <stdio.h> int main() { int i,m; for(m=101; m<200; m=m+2) for (i=2 ; i<=m-1 ; i++) if (m % i==0) break; if (i==m) printf("Yes\n"); else printf("No\n"); return 0; }
使用说明:
1)循环变量应该在循环体外初值;
2)在while的循环体中一定要有改变循环变量的 值以使循环条件为假的语句,否则将形成死循 环;
1)循环变量、累加变量、累乘变量都 要在循环体外初值; 2)在循环体中要有改变循环变量的值 的语句。
例:累加
求:1+22+32+……+102 的值 #include "stdio.h" int main()
计算下一项t
pi=pi*4 输出pi
#include "math.h" int main( ) { int s; float n, t, pi; n=1.0; s=1; t=1.; pi=0; { pi=pi+t; n=n+2.0; s=-s; t=s/n; } printf("PI=%10.6f\n", pi*4); return 0; }
例3.14 5 6 7 8 9 10 for (x=0; x<=20; x++) for (y=0; y<=33; y++) { z=100-x-y; if (z%3==0 && 5*x+3*y+z/3==100)
《循环控制》课件

结束条件
当满足退出条件时,循环终止 ,程序继续执行后续任务或流 程。
03 循环控制的实现 方式
使用for循环实现循环控制
总结词
for循环是一种常见的循环控制结 构,适用于已知循环次数的情况 。
详细描述
在for循环中,通常会指定一个计 数器变量,并设置其初值、条件 和增量。当条件满足时,循环体 将会被执行指定的次数。
使用while循环实现循环控制
• i;
使用while循环实现循环控制
}
```
使用do-while循环实现循环控制
总结词
do-while循环与while循环类似,但至少会执行一次循环体,然后再检查条件 。
详细描述
在do-while循环中,无论条件是否满足,循环体至少会被执行一次。然后,根 据条件的真假来决定是否继续执行循环体。
05 循环控制的实例 应用
在数据排序中的应用
冒泡排序
通过多次遍历列表,比较相邻元素并 交换位置,使得较大的元素逐渐向列 表的末尾“冒泡”,最终实现列表的 排序。
选择排序
插入排序
将待排序的元素插入到已排序的子列 表中,使得子列表保持有序,直到所 有元素都插入完毕。
每次遍历列表,找到最小(或最大) 的元素,将其与当前位置的元素交换 ,直到整个列表排序完成。
动画播放
通过循环控制,可以按照一定的时间间隔播放游戏角色的动画,以 实现连续的动作效果。
游戏循环
游戏的主循环也是通过循环控制来实现的,它负责不断更新游戏状 态、渲染游戏画面和处理用户输入。
THANKS
感谢观看
提高代码效率
通过重复执行某段代码, 可以减少重复编写相同代 码的工作量。
处理重复性任务
C语言:循环控制程序PPT35页

6.4 循环的嵌套
与if语句相同, 当循环体中又包含了另一个完整 的循环语句时–––循环嵌套。
C语言的循环结构, 均可以相互嵌套:
例如 : do { while(…) { for( …) { } } }while(…)
C语言:循环控制程序
6、纪律是自由的第一条件。——黑格 尔 7、纪律是集体的面貌,集体的声音, 集体的 动作, 集体的 表情, 集体的 信念。 ——马 卡连柯
8、我们现在必须完全保持党的纪律, 否则一 切都会 陷入污 泥中。 ——马 克思 9、学校没有纪律便如磨坊没有水。— —夸美 纽斯
10、一个人应该:活泼而守纪律,天 真而不 幼稚, 勇敢而 鲁莽, 倔强而 有原则 ,热情 而不冲 动,乐 观而不 盲目。 ——马 克思
例如 : sum=0; i=1;
for ( ; i<=100 ; ) { sum=sum+i; i++; }
循环结构例程
例程6-4 :
输出[ 1,99]不 能被2或3整除 的数,按5个数 一行的格式排 列。
void main( ) { int I, j=0;
for( I=1; I<100; I++ ) { if ( I%2 || I%3 )
for ( i=1; i<=100; i++) sum+=i;
for语句与while、do-while互换用, 但for直观、简单、方便。
i=1; while(i<=100) { sum+=i; i++}
i=1; do { sum+=i; i++; } while( i<=100 )
c语言循环结构ppt课件

是,继续。
i = i * 2;
i现在为4。
i < n成立吗?
是,继续。
i = i * 2;
i现在为8。
i < n成立吗?
是,继续。
i = i * 2;
i现在为16。
i < n成立吗?
不成立,退出循环。
最新课件
6
while语句
虽然循环体必须是单独的一条语句,但这只是个技术 问题。
如果需要多条语句,那么只要用一对大括号构造成单 独一条复合语句就可以了:
表达式即为控制表达式;语句则是循环体。
最新课件
4
while语句
while语句示例:
while (i < n) /* 控制表达式 */ i = i * 2; /* 循环体 */
执行while语句时,首先计算控制表达式的值。 如果值不为零(真),那么执行循环体,接着再次
判定表达式。 这个过程持续进行直到最终控制表达式的值变为零。
i++; }
。
printf(″%d\\n″,sum);
}
do语句
do语句的一般格式如下:
do 语句 while ( 表达式 ) ;
执行do语句时,先执行循环体,再计算控制表达式 的值。
如果表达式的值非零,那么再次执行循环体,然后 再次计算表达式的值。
最新课件
17
do语句
使用do语句重写前面的“倒数计数”程序:
#include <stdio.h>
int main(void) {
int i, n;
printf("This program prints a table of squares.\n"); printf("Enter number of entries in table: "); scanf("%d", &n);
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);
C语言第五章循环结构程序控制PPT教学课件

PF
T
A
i++; 说明:}
其中prinwtfh(i“lesu是m=关%键d字, a;ver(表=%达f式\n”)通,su常m是,su关m系/20表.0达) ;式 或逻} 辑表达式;<语句>作为 while 循环语句的循环体, 可以是一条语句,也可以是复合语句。
2020/12/10
上一页
下一页 1
注意: 1.只有 <表达式> 的值是非0时,才执行< 语句 > 给出的循环体。
2020/12/10
上一页
下一页 8
例: 1要.点fo说r 明语例例例例:句::::fi=o中r1if=o(;的r1i=(;1表i;=;i1<达i<;==式;1i10+010+可0;;)i)以+s{u+省ms)us略m=u=m(susum分=m+s号u+i mi;不;+i能i+;+省;)} 。 2.如果例省f:o略rfo(表r; i(达<;=式;1)0{20s,u; m)将{=形ss成uumm无+=限i s;u循}m环+i。; i++ ; } 3.表达例式:3fo也r(s可um以=省0; 略i<=。100 ;i++)sum = sum+i ; 45..可3 个以表同达时pffcfooorh式省rrira((nisr同(略=tuf;0cm(时表,;“(j==\cn0省达1=,T0ig=略0式he1et;;,c1iic<h和<h=此a=a1表rjr0(时;0达)iis;)+相i++!:式=%,+当j)3‘sc-\。于ur\-nm’)”;wk=),h=sciulie)m+(;+j1i;); …
C语言循环结构程序设计 ppt课件

void main() {
int i,sum=0;
设置循环 条件
for(i=1;i<=100;i++)
{
sum+=i;
}
printf("Sum = %d\n",sum);
}
程序的运行结果:
Sum = 5050
2021/3/26
C语言循环结构程序设计 ppt课件
9
C语言循环结构程序设计
说明:
(1) for语句的一般形式中的“表达式1”可以省略,此 时应在for语句之前给循环变量赋初值。注意省略表 达式1时,其后的分号不能省略。如 for(;i<=100;i++) sum=sum+i; 执行时,跳过“求解表达式1”这一步,其他不变。
while (表达式) 语句 当表达式为非0值时,执行while语 句中的内嵌语句。其特点是:先判断 表达式,后执行语句。
2021/3/26
C语言循环结构程序设计 ppt课件
23
例:用while循环求1~100的和。
#include <stdio.h> void main() {
设置循环条 件
int i=1,sum=0;
}
程序的执行结果:
Sum = 5050
2021/3/26
C语言循环结构程序设计 ppt课件
28
C语言循环结构程序设计
4.5.1 for语句和while语句
for循环语句比较灵活,可以将循环控制变量初始、循环变量修改和循环 控制表达式集中在一个for语句中,比较适合循环次数可预测的情况。 while循环适合不通过递增或递减循环控制变量的循环。
说明:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
statement;
被当作一条语句看待
} 2021/3/11
8/63
start
i ← 0, sum ← 0
false
i< 5
true
input n
sum←sum+ n
i++
output sum
2021/3/11
end
for循环语句
int i, sum, n; sum = 0; for (i = 0; i < 5; i++) {
第6章 循环控制结构
.
1
本章学习内容
计数控制的循环 条件控制的循环 for语句,while语句,do-while语句 continue语句,break语句 嵌套循环 程序调试与排错
2021/3/11
2/63
Example:
问题的提出
Draw a flowchart for the following problem: 读入5个整数,计算并显示它们的和.
在for和while语句之后一般没有分号 有分号表示循环体就是分号之前的内容
– 空语句——表示循环体内什么都不做
while (i < 100); i++;
– 死循环
for (i = 0; i < 100; i++); printf("%d", i);
– 用于延时
2021/3/11
19/63
【例6.1】计算并输出1+2+3+…+n的值
do{ statement; statement;
Don’t forget the
semicolon!!
} while (condition) ;
statement;
2021/3/11
12/63
【例6.1】计算并输出1+2+3+…+n的值
循环次数已知,计数控制的循环
2021/3/11
13/63
【例6.1】计算并输出1+2+3+…+n的值
使用了6个不同的变量
start Input n1 Input n2
n1 2 n2 3
Input n3
n3 4
input n4
n4 5
读入1000个整数,in计pu算t n并5 显示它们的n5和.? 6
sum ← n1+n2+n3+n4+n5
sum 20
output sum
2021/3/11
end
4/63
Input : 5 个整数n1, n2, n3, n4, n5 Output: n1, n2, n3, n4, n5的和 Input example: 2 3 4 5 6 Output example: 20
如何确定程 序的输入和
输出呢?
2021/3/11
3/63
问题的提出
Assume input example: 23456
6.1循环控制结构与循环语句
如何对循环进行控制呢?
2021/3/11
5/63
6.2计数控制的循环 Assume input example: start 23456
counter ← 1, sum ← 0
counter<6 true
input n
false
counter sum
123465 12025940 102594 + 23456
循环次数已知,计数控制的循环
sum = 0的作用?
2021/3/11
14/63
【例6.1】计算并输出1+2+3+…+n的值
循环次数已知,计数控制的循环
2021/3/11
15/63
【例6.1】计算并输出1+2+3……n的值
2021/3/11
循环条件第一次就为假(如输 入-1)时会怎样?
16/63
【例6.1】计算并输出1+2+3+…+n的值
当
条 假件P 假
型
真
循 环
A
T20e21s/3t/11ing Condition First
17/63
【例6.1】计算并输出1+2+3+…+n的值
A
条 件P
真
直 到 假型 循 环
2021/3/11
Testing condition l1a8/s63t
注意
false test counter true
Step x Update counter
Step n
循环体 (Body of
Loop)
7/63
for循环语句
当型循环——Condition is tested first
计数循控环起制始—条—件Loop循i环s c结o束n条tro件lled by循a环c变o量un增t值er Syntax
123645 << 66 tftraruulseee
n 23564
2021/3/11
sum ← sum + n
counter++ output sum
end
counter-controlled
计数器每次增1
使用了3个变量
6/63
2021/3/11
6.2计数控制的循环
counter ← initialValue
for (initial value ; condition; update counter)
statement;
Or
循环变量控制循环次 数,不要在循环体内 改变这个变量的值
for (initial value ; condition; update counter)
{
复合语句
statement;
compound statement
——Loop is controlled by condition or a counter
▪ 语法
while (condition)
statement;
Or
while (condition) {
statement;
No semicolon!!
statement;
}
2021/3/11
11/63
do-while循环语句
scanf(“%d”, &n); sum = sum + n; } printf(“%d”, sum);
9/63
6.3条件控制的循环
当
条 假件P 假
型
真
循
环
A
A
条 件P
真
直 到 型 假循 环
2021/3/11
10/63
while循环语句
▪ 当型循环——Condition is tested first ▪ 条件或计数控制
如何减少循环的次数?
2021/3/11
20/63
【例6.1】计算并输出1+2+3+…+n的值
2021/3/11
直到型循环——Statements in the loop are executed first (at least once), and condition is tested last
条件或计数控制
—— Loop is controlled by condition or a counter
语法