当前位置:文档之家› 《循环结构程序设计》PPT课件

《循环结构程序设计》PPT课件


{ sum=sum+i;
i++;
}
printf("sum=%d\n",sum);
}
程序输出结果:
sum=5050
可整理ppt
注意:
7
如果while的 (表达式) 值为0,则循环体一
次也不执行 (例如当i的初值=101) 。
在循环体中必须有使循环趋向结束的操作, 否则循环将无限进行(死循环)。
在循环体中,语句的先后位置必须符合逻 辑,否则会影响运算结果。
求和——设变量 sum 存放和,循环求 sum=sum+i,直至i超过100。
可整理ppt
算法和程序:
6
i=1,sum=0 当i <= 100
sum=sum+i i++ 输出sum
i: 循环控制变量 sum: 累加器
main( )
运行jc5_1
{ int i,sum;
i=1; sum=0;
while (i<=100)
区别:
– do- while 语句先执行句先判断条件再执行循环体, 循环体有可能一次也不执行
do—while循环体中一定要有能使表达式值 趋于0的操作(如i++),否则会出现死循环。
可整理ppt
do-while语句的简单应用
12
【例5.3】用辗转相除法求m和n的最大公约数
Y
表达式非0?
N
用do-while语句 求100个自然数的和
main( ) { int i=1,sum=0;
do { sum=sum+i;
i++; } while (i<=100); printf("%d\n",sum); }
可整理ppt
说明:
11
while和do-while都能实现循环控制,while 结构程序通常都可以转换成do-while结构
定义m、n、r
m<n
T
F
m和n交换
r=m%n
m=n
n=r
当r != 0时
输出最大公约数m
可整理ppt
算法和程序:
13
main( ) 运行jc5_3
{ int m,n,r;
scanf("%d, %d",&m,&n);
if (m<n)
{ r=m; m=n; n=r; }
do
{ r=m%n; m=n; n=r;
9
语句一般格式
do 语句 while (表达式);
功能:
– 先执行内嵌语句(循环体),之后计算 表达式的值,不为0(逻辑真)时,再 执行循环体并判断条件,直到表达式的 值为 0 结束循环,转去执行while下面 的语句。
可整理ppt
do-while循环的算法
10
流程图
N-S结构图
循环体
循环体 当表达式为真
⑶ for (i=1; i<=100; ) {…i++; … }
⑷ i=1; for ( ; ; ) { … if(i>100) … i++; … }
可整理ppt
说明:
18
所有用 while 语句实现的循环都可以用 for 语句实现。
for(表达式1;表达式2 ;表达式3) 语句;
等价于:
表达式1; while (表达式2) { 语句;
思考程序段的输出?
……
while (i<=100)
{ i++;
sum=sum+i; }
可整理ppt
运行后,输出: sum=5150
原因是什么?
注意(续):
8
为了保证循环正常运行,应该特别注意: – 循环控制条件的描述 – 控制条件的初始状态(初始值) – 循环体内部对控制条件的影响
可整理ppt
5.2 do-while语句
printf("sum=%d\n",sum);
}
可整理ppt
省略for语句的表达式
16
⑴ 表达式1、2、3全省略,即: for ( ; ; )
就等同于:while (1),会无限循环(死循环)
⑵ 省略表达式1和表达式3,即: for(;表达式2;)
就等同于:while( 表达式2 ) ⑶ 省略表达式2,即:
一般为关系表达式 或逻辑表达式,也 可以是C语言其他类 型的合法表达式
用来控制循环体是 否执行
称为内嵌语句, 可以是基本语句、 控制语句,也可 以是复合语句
是循环重复执行 的部分
可整理ppt
功能:
4
计算表达式的值,为非0(逻辑真)时,重复执
行内嵌语句,每执行一次,就判断一次表达式的
值,直到表达式的值为0 时结束循环,转去执行
可整理ppt
for语句的算法
15
流程图
N-S结构图
计算表达式1
表达式2
N
为真?
Y 语句
计算表达式3
for (表达式1;表达式2;表达式3) 语句
例如:
可部分或全部省略,
main( ) { int i,sum;
但“;”不可省略
sum=0;
for ( i=1; i<=100; i++)
sum=sum+i;
C 语言程序设计
第5章 循环结构程序设计
本章主要内容
2
while循环控制 do-while循环控制 for循环控制 用goto语句实现循环控制 循环结构中的跳转语句 循环的嵌套 循环结构程序设计举例
可整理ppt
5.1 while循环控制
3
语句一般格式 while (表达式) 语句
for(表达式1; ;表达式3) 就等同于:表达式1; while(1){…表达式3;}
注意:在省略某个表达式时,应在适当位置进行循 环控制的必要操作,以保证循环的正确执行
可整理ppt
例如:
17
⑴ i=1; for ( ; i<=100; i++) sum+=i;
⑵ for (i=1; ; i++) { … if(i>100)… …}
while后面的语句。
循环控制条件
流程图
N-S结构图
表达式非
N
0?
Y
语句
当表达式为真 语句
循环体
可整理ppt
例如:
5
【例5.1】编写程序,求100个自然数的和 即: s=1+2+3+ … +100
思路:寻找加数与求和的规律
加数i——从1变到100,每循环一次,使i增1, 直到i的值超过100。i的初值设为1。
表达式3; }
可整理ppt
for语句的简单应用
}while(r!=0);
程序运行情况如下: 24, 60 12
printf("%d\n",m);
}
可整理ppt
5.3 for语句
14
语句一般格式
循环控制条件
for (表达式1;表达式2;表达式3) 语句
循环初始条件
循环体
功能:
–计算表达式1的值,再判断表达式2,如果其 值为非0(逻辑真),则执行内嵌语句(循环 体),并计算表达式3;之后再去判断表达式2, 一直到其值为0时结束循环,执行后续语句。
相关主题