Download presentation
Presentation is loading. Please wait.
1
C 语言程序设计 程序的循环结构 电大崇信县工作站 梁海亮
2
回顾: 问: C语言是一门结构化的程序设计语言,在前面的学习中,我们知道对一个问题的解决,一般情况下我们会考虑到两种程序设计方法。
这两种程序设计方法是什么?有什么特点? 顺序结构的程序设计方法与分支结构(选择结构)的程序设计方法
3
顺序结构 顺序结构 表示程序中的各操作是按照它们出现的先后顺序执行的。 A B
顺序结构 表示程序中的各操作是按照它们出现的先后顺序执行的。 这种结构的特点是:程序从入口点A开始,按顺序执行所有操作,直到出口点B处,所以称为顺序结构。 A B 顺序结构
4
选择结构 表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。选择结构有单向选择、双向选择和多向选择三种形式。
选择结构 表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。选择结构有单向选择、双向选择和多向选择三种形式。 A B P 真 假 A P 真 假 单向分支 双向分支
5
新课引入: 在C语言程序设计中,常常遇到一些计算并不复杂却要重复多次的问题。如:求自然数1~10的和,用我们以前的程序设计方法如何解决? # include <stdio.h> main( ) { int sum=0; sum= ; printf(“其和是%d\n”,sum); } 思考:求1~1000的和。
6
循环结构程序 循环结构 又称重复结构,是指能够反复多次、重复完成某一操作的程序结构 如: 求若干数的和、迭代求根等等。
循环结构 又称重复结构,是指能够反复多次、重复完成某一操作的程序结构 如: 求若干数的和、迭代求根等等。 while语句 do-while语句 for语句 三种循环语句的比较 循环的嵌套 break语句和continue语句
7
循环结构 本节课目标: 1.掌握while语句的格式,功能及用法 2.掌握do-while语句的格式,功能及 用法
8
一、循环控制语句:while语句 表达式 语句 假 真 while语句的一般格式: while(表达式) { 语句 } 功能:先判断表达式的值的真假,若为真(非零)时,则执行语句。然后再判断<表达式>的值,只要它不为零,继续执行<语句>。如此重复,直到<表达式>的值为零为止,然后转去执行while语句下面的下一条。 流程图:
9
***** 一、循环控制语句:while语句 运行结果: 分析程序段 x=1; while(x<=5) { printf(“*”);
} 运行结果: *****
10
分析:求和结果我们可以用变量sum来表示。
一、循环控制语句:while语句 通过程序学用法 【例5.1】编程实现1+2+3+…+1000。 分析:求和结果我们可以用变量sum来表示。 sum=0 i=1 sum=0+1 sum=0+1+2 sum= ……… sum= ……+1000 注: 这里sum相当于一个累加器。 sum=sum+i; i++;
11
一、循环控制语句:while语句 # include "stdio.h" main() { int i=1; long sum=0;
sum+=i; i++; } printf("%d\n",sum); }
12
分析:我们可以用sum来表示1—20阶乘的和;用t来表示t!。
一、循环控制语句:while语句 程序扩展: 【例5.3】编程实现 (n=1~20) 。 分析:我们可以用sum来表示1—20阶乘的和;用t来表示t!。 1!=1*1 2!=1*1*2 3!=1*1*2*3 …… n!=1*2*3*4*….*n sum=1!+2!+3!+……n! t=t*n sum=sum+t
13
一、循环控制语句:while语句 # include “stdio.h” main( ) { int n=0;
double t=1.0,sum=0.0; while (n<20) { n++; t*=n; sum+=t; } printf(“sum=%e”, sum);
14
一、循环控制语句:while语句 while语句的特点和说明: 1、特点:先判断表达式,再执行循环体。 2、说明:
(2)在循环体中应该有使循环趋向于结束的语句。如无此语句,循环将永不结束;
15
一、循环控制语句:while语句 (3)循环体有可能一次也不执行; (4)循环体可为任意类型的语句; 条件表达式不成立(为零)
循环体内遇break、return、 goto
16
二、循环控制语句:do-while语句 循环体 真 表达式
{ 循环体 } while (<表达式>); 表达式 循环体 假 真 功能:先执行一次循环体,再判断表达式的真假。若表达式为真(非0)则继续执行循环体,一直到表达式为假(0)时退出循环结构。
17
二、循环控制语句:do-while语句 通过程序学用法: 【例5.5】用do-while语句求1+2+3+……+1000的和
18
二、循环控制语句:do-while语句 # include <stdio.h> main( ) { int i=1;
long sum=0; do { sum=sum+i; i++; } while(i<=1000); printf("%d\n",sum); }
19
二、循环控制语句:do-while语句 程序扩展: 用do-while语句计算表达式的值:
20
思考: 为什么输出是i-1的值,而不是i的值呢?
二、循环控制语句:do-while语句 # include <stdio.h> main( ) { int num; int i=0; do { scanf(“%d”,&num); i++; }while(num!=-1); printf(“整数的个数是%d\n”,i-1); } 思考: 为什么输出是i-1的值,而不是i的值呢?
21
二、循环控制语句:do-while语句 do-while语句的特点和说明: 注意:while后面的分号(;)不能少。
1、特点:先执行循环体,后判断表达式。 2、说明: (1)至少执行一次循环体; (2)do-while可以转化为while结构。 注意:while后面的分号(;)不能少。
22
思考: while和do-while的区别?
⑴ main() (2) main() { int sum=0,i; { int sum=0,i; scanf("%d",&i); scanf("%d",&i); while(i<=10) do { { sum=sum+i; sum=sum+i; i++; i++; } }while(i<=10); printf("sum=%d\n",sum); printf("sum=%d\n",sum); } } 思考: while和do-while的区别? 运行结果如下: 运行结果如下: sum= sum=55 再运行一次: 再运行一次: sum= sum=11
23
循环控制语句 总结: while语句和do-while的区别。
24
小结: 作业: 1、从5-100之间找出能被5或7整除 1、掌握while语句的语法格式和用法;
2、掌握do-while语句语法格式和用法; 3、掌握两种语句的区别,并能用这两种 语句进行一般循环结构的编程。 作业: 1、从5-100之间找出能被5或7整除 的数; 2、计算正整数1-n中的奇数之和及 偶数之和。
25
谢 谢 谢 谢
Similar presentations