第六章循环结构PPT讲稿.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第六章循环结构PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第六章循环结构PPT讲稿.ppt(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章循环结构第1页,共48页,编辑于2022年,星期三6.1概述概述在实际问题中在实际问题中,我们常常遇到需要重复处理的工作我们常常遇到需要重复处理的工作例如例如:求求1100的和的和,或求一个班英语成绩的平均或求一个班英语成绩的平均分分一般来说循环控制方法分两种一般来说循环控制方法分两种:(1)条件循环条件循环(while循环循环和和dowhile循环循环)条件满足时执行循环条件满足时执行循环,条件不满足时结束循环条件不满足时结束循环(2)计数循环计数循环(for循环循环)先确定循环次数先确定循环次数,然后执行循环然后执行循环,完成循环次数完成循环次数后结束后结束第2页,共48页,编辑于2
2、022年,星期三6.3while语句语句2.执行过程执行过程:(先判断后执行)(先判断后执行)先计算表达式的值先计算表达式的值,值为真值为真(非零非零)时执行循环体时执行循环体,值为假时结束循环值为假时结束循环1.格式格式:while(表达式表达式)2.循环体语句循环体语句3.注意注意:(1)表达式必须用表达式必须用()括起来括起来(2)循环体语句为多条语句时循环体语句为多条语句时,必须用必须用把它们括起来把它们括起来(3)循环体语句中必须有使循环趋向结束的语句循环体语句中必须有使循环趋向结束的语句A当当P成立成立AP成立成立不成立不成立第3页,共48页,编辑于2022年,星期三例:在屏幕上打
3、印例:在屏幕上打印7行星花行星花(此问题是简单重复(此问题是简单重复7次格式输出操作)次格式输出操作)main(int i;i=1;whlie(i=7)printf(“n*”);i+;运行结果为:运行结果为:*第4页,共48页,编辑于2022年,星期三例例:求求1100的和的和1+2+3+99+100=i(1=i=100)#includevoidmain()inti,sum;sum=0;i=1;while(i=100)sum=sum+i;i+;printf(“sum=%dn”,sum);分析分析:需要几个变量需要几个变量?输入输入,输出分别是什么输出分别是什么?程序大体可分为几个步骤程序大体可
4、分为几个步骤?sum=0i=1i=100?sum=sum+ii=i+1输出输出sum的值的值第5页,共48页,编辑于2022年,星期三例例:求求1n的和的和,n为任意正整数为任意正整数i(1=i=n)sum=0i=1i=n?sum=sum+ii=i+1输出输出sum的值的值输入输入n#includevoidmain()inti,sum,n;sum=0;i=1;scanf(“%d”,&n);while(i=n)sum=sum+i;i+;printf(“sum=%dn”,sum);第6页,共48页,编辑于2022年,星期三例:计算例:计算x=1+3+5+7+9+n#includemain()int
5、s;intn,i,x;scanf(“%d”,&n);i=1;x=0;while(i=n)x=x+i;i=i+2;printf(“x=%dn”,x);分析分析:题目是累加求和,只不过其累加题目是累加求和,只不过其累加项为等差递增的奇数序列。项为等差递增的奇数序列。第7页,共48页,编辑于2022年,星期三例例:求某个班英语成绩的平均分求某个班英语成绩的平均分,该班学生人数和每个该班学生人数和每个学生的成绩由键盘输入学生的成绩由键盘输入sum=0i=1i=n?sum=sum+si=i+1输出输出ave的值的值输入输入n(n表示学生人数表示学生人数)输入输入s(s表示成绩表示成绩)ave=sum/n
6、#includevoidmain()inti,n;floats,sum,ave;sum=0;i=1;scanf(“%d”,&n);while(i=n)scanf(“%f”,&s);sum=sum+s;i+;ave=sum/n;printf(“ave=%6.2fn”,ave);思路:先求所有学生的总成绩,思路:先求所有学生的总成绩,再除以学生个数再除以学生个数n,得学生的平均,得学生的平均成绩。成绩。第8页,共48页,编辑于2022年,星期三例:计算例:计算x=1+1/3+1/5+1/7+1/9当相加项的绝对值小于当相加项的绝对值小于0.000001(即即106)时停止计算时停止计算#inclu
7、demain()ints;floatn,t,x;n=1;t=1;x=0;while(t=1e-6)x=x+t;n=n+2;t=1/n;printf(“x=%10.6fn”,x);分析分析:题目仍可以看成是累加求和,只题目仍可以看成是累加求和,只不过其累加项为分母等差递增的不过其累加项为分母等差递增的分数。分数。第9页,共48页,编辑于2022年,星期三例例:编程求编程求的近似值的近似值,公式公式/41-1/3+1/5-1/7+1/9-分析分析:题目仍可以看成是累加求和题目仍可以看成是累加求和不同的是不同的是,相加的每一项正负相间相加的每一项正负相间,公式是无穷的公式是无穷的,所以我们规定当所以
8、我们规定当相加项的绝对值小于相加项的绝对值小于0.000001(即即106)时停止计算时停止计算#include#includevoidmain()ints;floatn,t,pi;s=1;n=1;t=1;pi=0;while(fabs(t)=1e-6)pi=pi+t;n=n+2;s=-s;t=s/n;pi=4*pi;printf(“pi=%10.6fn”,pi);tpins11-13-1/31010.671/551第10页,共48页,编辑于2022年,星期三6.4do-while语句语句不成立不成立AP成立成立当当P成立成立A1.格式格式:do循环体语句循环体语句while(表达式表达式);
9、2.执行过程执行过程:(先执行后判断)先执行后判断)先执行循环体先执行循环体,然后计算表达式然后计算表达式的值的值,若值为真则重复执行循环体若值为真则重复执行循环体,若值为假则结束循环若值为假则结束循环3.注意注意:(1)表达式必须用表达式必须用()括起来括起来(2)循环体语句为多条语句时循环体语句为多条语句时,必须用必须用把它们括起来把它们括起来(3)循环体语句中必须有使循环趋向结束的语句循环体语句中必须有使循环趋向结束的语句第11页,共48页,编辑于2022年,星期三例例:求求1100的和的和#includevoidmain()inti,sum;sum=0;i=1;dosum=sum+i;
10、i+;while(i=100);printf(“sum=%dn”,sum);sum=0i=1i=100?sum=sum+ii=i+1输出输出sum的值的值第12页,共48页,编辑于2022年,星期三4.while循环和循环和do-while循环的比较循环的比较 while do-whilewhile do-while(1)(1)先判断条件再执行循环体先判断条件再执行循环体 先执行循环体再判断条件先执行循环体再判断条件(2)(2)循环体可能一次也不执行循环体可能一次也不执行 至少执行一次循环体至少执行一次循环体#includevoidmian()intsum=0,i;scanf(“%d”,&i)
11、;while(i=10)sum=sum+i;i+;printf(”%dn”,sum);#includevoidmian()intsum=0,i;scanf(“%d”,&i);dosum=sum+i;i+;while(i=10);printf(”%dn”,sum);若输入的若输入的i小于等于小于等于10,则两种循环的次数和结果一样。若输入的,则两种循环的次数和结果一样。若输入的i大于大于10,则第一种情况一次循环也不执行,但是第二种情况会执,则第一种情况一次循环也不执行,但是第二种情况会执行一次循环。行一次循环。第13页,共48页,编辑于2022年,星期三6.5for语句语句1.格式格式:for
12、(表达式表达式1;表达式表达式2;表达式表达式3)循环体语句循环体语句2.执行过程执行过程:(1)计算表达式计算表达式1(2)计算表达式计算表达式2,若值为真则执行循环体若值为真则执行循环体,再执行第再执行第(3)步步;若值为假则结束循环若值为假则结束循环(3)计算表达式计算表达式3,再重复执行第再重复执行第(2)步步sum=0;i=1;while(i=100)sum=sum+i;i+;sum=0;for(i=1;i=100;i+)sum=sum+i;例例:将将1100求和的求和的while循环转换为用循环转换为用for循环实现循环实现第14页,共48页,编辑于2022年,星期三3.说明说明(
13、1)可以省略表达式可以省略表达式1sum=0;for(i=1;i=100;i+)sum=sum+i;i=1;(2)可以省略表达式可以省略表达式3sum=0;for(i=1;i=100;i+)sum=sum+i;i+;(3)同时省略表达式同时省略表达式1和表达式和表达式3sum=0;i=1;for(;i=100;)sum=sum+i;i+;第15页,共48页,编辑于2022年,星期三(4)表达式表达式1,表达式表达式3还可以是逗号表达式还可以是逗号表达式for(sum=0,i=1;i=100;sum=sum+i,i+);(5)表达式表达式1,表达式表达式3可以是与循环控制无关的其他表达式可以是与
14、循环控制无关的其他表达式i=1;for(sum=0;i=100;sum=sum+i)i+;空语句空语句(6)表达式表达式2一般不会省略一般不会省略,若省略表达式若省略表达式2循环将不能停止,产生循环将不能停止,产生死循环。死循环。sum=0;for(i=1;i+)sum=sum+i;sum=0;i=1;for(;)sum=sum+i;i+;i=1;while(1)sum=sum+i;i+;第16页,共48页,编辑于2022年,星期三例例:求某个班英语成绩的平均分求某个班英语成绩的平均分#includevoidmain()inti,n;floats,sum,ave;sum=0;i=1;scanf
15、(“%d”,&n);while(i=n)scanf(“%d”,&s);sum=sum+s;i+;ave=sum/n;printf(“%6.2fn”,ave);#includevoidmain()inti,n;floats,sum,ave;sum=0;scanf(“%d”,&n);for(i=1;i=3)迭代公式迭代公式用用C语言来描述为:语言来描述为:fib1=fib2=1;/*初始化初始化fib1,fib2的值的值*/i=3;fib=fib1+fib2;/*当当3=i=12时循环执行时循环执行*/fib1=fib2;fib2=fib;i+;第19页,共48页,编辑于2022年,星期三例例:求
16、求Fibonacci数列的前数列的前12个数个数Fibonacci数列数列:1,1,2,3,5,8,13#includevoidmain()inti,f1,f2,f3;f1=1;f2=1;printf(“%8d%8d”,f1,f2);for(i=3;i=12;i+)f3=f1+f2;f1=f2;f2=f3;printf(“%8d”,f3);if(i%4=0)putchar(n);分析数列的规律分析数列的规律:从第从第3个数开始个数开始,每个数是每个数是其前两个数之和其前两个数之和f1f2f3112231 235+第20页,共48页,编辑于2022年,星期三6.6循环的嵌套循环的嵌套1.循环的嵌
17、套循环的嵌套:一个循环体内包含另一个完整的循环结构一个循环体内包含另一个完整的循环结构2.按循环嵌套的层数分别称为二重循环按循环嵌套的层数分别称为二重循环,三重循环三重循环3.C语言中语言中while,dowhile,for循环可以互相嵌套循环可以互相嵌套例例:输出由输出由*组成的如图所示的矩形组成的如图所示的矩形*#includevoidmain()printf(“*n”);printf(“*n”);printf(“*n”);printf(“*n”);第21页,共48页,编辑于2022年,星期三#includevoidmain()inti,j;i=1;while(i=4)j=1;while(
18、j=3)putchar(*);j+;putchar(n);i+;#includevoidmain()inti,j;i=1;while(i=4)for(j=1;j=3;j+)putchar(*);putchar(n);i+;注意注意:内外层循环的控制变量不能重名内外层循环的控制变量不能重名,但并列循环的控制变量无此限制但并列循环的控制变量无此限制第22页,共48页,编辑于2022年,星期三#includevoidmain()inti,j;for(i=1;i=4;i+)for(j=1;j=3;j+)putchar(*);putchar(n);例例:输出如图所示的直角三角形输出如图所示的直角三角形*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 循环 结构 PPT 讲稿
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内