第5章循环结构的语句及流程.ppt
《第5章循环结构的语句及流程.ppt》由会员分享,可在线阅读,更多相关《第5章循环结构的语句及流程.ppt(36页珍藏版)》请在三一办公上搜索。
1、,布置作业,书面练习:P113P114习题 准备上机题目:实验报告上:实验五,实验六 要求画出程序流图。上机实验:实现实验五、实验六上交作业下机时班长收齐程序流图上交。,程序设计方法,第5章 循环结构的程序设计,问题1:假如全班41人,欲从键盘上输入每人的数学成绩,然后计算出平均成绩;问题2:编程计算n!.这些都是重复计算的问题,需要由循环结构来解决。C 提供了以下4种重复计算的结构:,goto 标号 while(表达式)语句 do 语句 while(表达式)for(表达式1;表达式2;表达式3)语句,goto语句及用goto构成循环,格式1:goto label;其中:label是语句标号,
2、它命名的规则同变量名;功能:使程序无条件地转向标号为label的语句去执行;可以用 if goto 语句构成循环.如:解上述问题 1:,#include#define N 41main()/*c501.c*/int i=1;float math,avg=0.;loop:printf(“输入数学成绩(%d):“,i);scanf(“%f”,程序实现,说明:1)标号不必进行类型说明;2)程序中的任何一个语句均可带上标号,但标号必须以冒号结束;3)不提倡使用goto语句。,循环体,循环结构的语句及流程控制,格式2:while(表达式)语句功能:当表达式的值非0时,执行语句,该语句一般是复合语句,被称
3、之为循环体.,例:解问题2,求 n!的值.需要定义的变量:mul-存放累乘积;i-计数;n-,程序:c502.c,#include main()int i=1,n;long mul=1;printf(“n Input n:”);scanf(“%d”,mul*=i+;,说明:,循环体可以是单个语句或复合语句while语句前应有为测试表达式中的循环控制变量赋初值的语句,以确保循环的正常开始;循环体内应有改变循环控制变量的语句,以确保循环进行有限次后正常结束;如:int i=1;while(i=100)sum=sum+1;(死循环)while 循环的特点是先判断后执行,故循环有可能一次都不被执行;如
4、:int i=3;while(i3)printf(“i=%dn”,i);,例2:求整数a和b的最小公倍数,算法流图如下:,程序如下:,C503.c c503_1.c,#include main()int a,b,i,m,n;scanf(“%d%d”,#include main()int a,b,i;scanf(“%d%d”,循环结构的语句及流程控制,格式3:do 语句 while(表达式);功能:先执行语句(单个语句或复合语句,被称之为循环体),当表达式的值非0时,重复执行该语句,直到表达式的值为0。例:sum=1+2+3+N.(c604.c),#include#define N 100mai
5、n()int i=1,sum=0;do sum=sum+i;i+;while(i=N);printf(n sum=%d,sum);,#include main()int i=1,sum=0,N;scanf(“%d”,例子,需要定义的变量:e-存放累加值;i-计数;n-存放计算阶 乘值.,计算:e1+1/1!+1/2!+.+1/100!,程序(c505.c),#include void main()int i=1;double e,n;e=n=1.0;do n=n*i;e=e+1./n;while(+i=100);printf(n e=%f,e);,#include main()int i=1;
6、double t,e=1.0;int n=1;do n=n*i+;t=1./n;e=e+t;while(t=1e-7);printf(n e=%f,e);,循环结构,for 循环比较灵活,既可用于确定次数的循环,也可用于不确定次数的循环其执行流程描述如下:,格式4:for(表达式1;表达式2;表达式3)语句常用形式:for(循环变量初值;循环条件;循环变量增值)语句,程序示例,例:计算 sum=1+2+3+100(c506.c),void main()int i,sum=0;for(i=1;i=100;i+)sum+=i;printf(n sum=%d,sum);,例:计算:e1+1/1!+1
7、/2!+.+1/100!(c507.c),void main()int i;double e=1.0,n=1.0;for(i=1;i=100;i+)n=n*i;e=e+1.0/n;printf(n e=%f,e);,程序设计的三种方法,枚举法 就是逐一列举出可能解的各个元素,并加以判断,直到求得所需要的解。常用在排列、组合、数据分类、信息检索、多解方程的求解上;归纳法 是从大量的特殊性中总结出规律性或一般性的结论。在程序设计上主要表现为递归和迭代、数列和级数求和。抽象法 自顶向下,逐步求精。,枚举问题,求1000 2000之间的素数打印出水仙花数,所谓水仙花数是指一个3位数,其各位数的立方之和
8、等于该数本身。如:153=1*1*1+5*5*5+3*3*3.百钱买百鸡问题.大公鸡5钱一只,母鸡3钱一只,雏鸡一钱买3只,有几种买法,求出所有解。两个乒乓球队进行比赛,各出三人甲队为A、B、C.乙队为X、Y、Z。已经抽签决定了比赛名单。有人向队员打听比赛对阵情况,A说他不和X比,C说他不和X、Z比。编程序找出三对赛手的名单.,例1求1000 2000之间的素数,需要的变量说明:i:10002000;j:2 i k:0,1 0-是素数 1-不是素数,参考程序 c510.c,#include main()int i,j,k,m;printf(“10002000之间的素数:n”);for(i=10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 结构 语句 流程
链接地址:https://www.31ppt.com/p-5951255.html