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

循环结构程序设计PPT课件

是循环重复执行的部 分
.
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
相关主题