C语言程序设计循环结构程序设计幻灯片
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf("%d\n",su
m);
2021/5/15
x
求: s n 流程图 n 1
17
开始
void main()do while {
int n=1,s=0,x; scanf("%d",&x); do {s=s+n; n++;} while (n<=x); printf("s=%d\n",s); }
一般为关系表达式 或逻辑表达式,也 可以是C语言其他类 型的合法表达式
用来控制循环体是 否被执行
称为内嵌语句,可 以是基本语句、控 制语句,也可以是 复合语句
是循环重复执行的 部分
2021/5/15
9
语句一般格式 while (表达式) {语句组}
功能:计算“表达式〞的值,为非0〔逻辑 真〕时,重复执行内嵌语句,每执行一次, 就判断一次表达式的值,直到表达式的值 为0 时完毕循环,转去执行while后面的语 句。
void main() {int s=0,x; scanf("%d",&x); while (x<=10)
{s=s+x; 循环没有 x++;} 被执行
printf("s=%d\n",s)p; rintf("s=%d\n",s);
}
}
如输入为1和12,两程序各输出情况
输入12时: 输出
输出:s=0
2021/5/15
2021/5/15
do-while循环的算法
16
流程图
循环体
N-S结构图 循环体
当表达式为真
表达式非0?
Y
N
用do-while语句 求100个自然数的和
#include "stdio.h" void main( ) { int i=1,sum=0;
do { sum=sum+i;
i++; } while (i<=100);
4
C提供四种循环控制语句:
while循环(5.2节) do while循环(5.3节) for循环(5.4节) if--goto 循环(一般不用 )
难点:
2021/5/15
5.1循环的根本概念〔续〕
5
二、循环构造
入口 条件 N
循环结构有两种形式: 当型循环结构 直到型循环结构
循环体
Y
循环体
2021/5/15
10
语句一般格式 while (表达式) {语句组}
流程图
表达式非0?
Y 语句
循环控制条件
N-S结构图 当表达式为真 N
语句
循环体
2021/5/15
例如:
11
【例5.1】编写程序,求100个自然数的和 即: s=1+2+3+ … +100
思路:寻找加数与求和的规律
加数i——从1变到100,每循环一次,使i增1, 直到i的值超过100。i的初值设为1。
i=1; sum=0; while (i<=100)
{ sum=sum+i; i++; }
printf("sum=%d\n",su m程)序; 输出结果: } sum=5050
2021/5/15
注意:
13
如果while的 (表达式) 值为0,那么循环 体一次也不执行 (例如当i的初值=101) 。
在循环体中必须有使循环趋向完毕的操作, 否那么循环将无限进展〔死循环〕。
在循环体中,语句的先后位置必须符合逻 辑,否那么会影响运算结果。
思考程序段的输出?
…… i=1; sum=0; while (i<=100)
{ i++; sum=sum+i; }
运行后,输出: sum=5150
原因是什么?
2021/5/15
初始化n,s,x
输入x
s=s+n
结束
n加1 输出s
N n<=x Y
2021/5/15
18
三、 while与do while的比 例
较/*ex1.C*/
/*ex1-1.C*/
void main()
{int s=0,x;
scanf("%d",&x);
do {s=s+x; x++;}
循环至少 执行一次
while(x<=10);
C语言程序设计循环结构程 序设计幻灯片
本课件PPT仅供大家学习使用 学习完请自行删除,谢谢! 本课件PPT仅供大家学习使用 学习完请自行删除,谢谢!
2
循环的基本概念 不同形式的循环控制 多重循环问题
2021/5/15
5.1 循环的根本概念
问题分解3
循环控制
一、循环问题
什么是循环?
100
问题1:y n 做99次加法 为什么要使用循环?
注意〔续〕:
14
总结:为了保证循环正常运行,应该特 别注意:
循环控制条件的描述 控制条件的初始状态〔初始值〕 循环体内部对控制条件的影响
2021/5/15
5.3 do-while语句
15
语句一般格式
do
{语句组}
while 〔表达式〕;
功能:
先执行内嵌语句〔循环体〕,之后计算表 达式的值,不为0〔逻辑真〕时,再执行 循环体并判断条件,直到表达式的值为 0 完毕循环,转去执行while下面的语句。
求和——设变量 sum 存放和,循环求 sum=sum+i,直至i超过100。
2021/5/15
算法和程序:
12
i=1,sum=0 当i <= 100
sum=sum+i i++ 输出sum
i: 循环控制变量 sum: 累加器
#include "stdio.h" void main( ) { int i,sum;
5.1循环的根本概念〔完〕
7
直到型循环
循环体 Y 条件
NN
条件 循环 次数
执行
1
Y Y Y
3 次
执行 4 执行 次
执行
2 3 4
N 结束
在循环出口处判断,当条 件为真时继续执行循环, 直到条件为假时为止。
2021/5/15
5.2 while循环控制
8
语句一般格式 while 〔表达式〕 {语句组}
问题2:求学n1生平均成绩 分数相加后除以课程数
问题3:找出数集x中能同时被3和7整除的数 找数
循环是有规律的重复操作。将复杂问题分解 为简单的操作过程,程序只对简单过程描述 ,这些过程的多次重复就可完成对问题的求 解。重复的频繁性决定了循环在程序设计中
必不可少!
2021/5/15
5.1 循环的根本概念Y 条件N 出口循环体中是一 个过程,该过
当型循环 直到型循环 程的复杂程度
先判断后循环
先循环后判断
取决于问题及 对问题的分解
2021/5/15
5.1 循环的根本概念〔续〕
6
当型循环
条?件 N
Y 循环体
条件 循环 次数
Y 执行
1
Y 3执行
2
Y N
次执结行束
3
在循环入口处判断 当条件为真时执行循环
2021/5/15