c语言-第4章循环结构.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)
《c语言-第4章循环结构.ppt》由会员分享,可在线阅读,更多相关《c语言-第4章循环结构.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4.1 用格里高利公式求的近似值(while语句)第4章 循环结构例4-1 用格里高利公式求的近似值,要求精确到最后一项的绝对值小于10-5。循环结构:根据条件的判断对某一段程序重复执行构成循环的要素:循环体、条件判断、进入每次循环的准备循环语句:for(表达式1;表达式2;表达式3)语句循环变量控制循环次数:循环变量、初值、终值、增量pi=pi+item(通项)item=flag*1.0/(2*i-1)flag=1,i=1,2,?分析循环结束条件:|item|=10-5pi=pi+item非00i=1i=i+1pi=04.1.1 程序解析item=1flag=1item=flag/(2*i-
2、1)flag=-flagpi=4*pi输出pi停表达式1和表达式3不明确#include#include void main()int i,flag;double item,pi;pi=0;flag=1;i=1;item=1;for(;fabs(item)=1e-5;)pi=pi+item;i=i+1;flag=-flag;item=flag*1.0/(2*i-1);pi=pi*4;printf(pi=%fn,pi);省略了表达式1和表达式2#include#include void main()int i,flag;double item,pi;pi=0;flag=1;i=1;item=1;
3、while(fabs(item)=1e-5)pi=pi+item;i=i+1;flag=-flag;item=flag*1.0/(2*i-1);pi=pi*4;printf(pi=%fn,pi);for循环语句改用while循环语句34.1.2 while循环语句当型循环 当条件为真(非0)时做循环,否退出循环格式 while(表达式)语句其中 语句是一个语句或复合语句 表达式是条件,求值得真(非0)或假(0)操作 当表达式的值非0,执行语句后继续循 环;当表达式的值0,终止循环。表达式语句非00 loop:if(表达式)语句;goto loop;等价于 for(;表达式;)语句;for(表达
4、式1;表达式2;表达式3)语句;表达式1;while(表达式2)语句;表达式3;4例4-2 输入一批学生的成绩,统计平均分循环体 sum=sum+mark mark学生成绩循环判断 一批 mark=0 则mark为负值结束循环mark=0sum=sum+mark非00num=num+1num=0sum=0aver=sum/num输出aver停输入mark输入mark#include void main()int num;double mark,sum,aver;num=0;sum=0;scanf(%lf,&mark);while(mark=0)sum=sum+mark;num=num+1;sc
5、anf(%lf,&mark);aver=sum/num;printf(aver=%fn,aver);54.2 统计一个整数的位数(dowhile语句)例4-3 从键盘读入一个整数,统计该数的位数。例如,输入1234,输出4;输入0,输出1。一个整数由多位数字组成,统计过程需要一位位地数利用 num/10-num,每统计一次减少一位数例 1234 整数 位数 1234 11234/10-123 2 123/10-12 3 12/10-1 4 1/10-0 不计判断条件 num!=0例 0整数 位数 0 1 0/10-0 不计先统计后判断条件 num!=0coun=coun+1非00num=num
6、/10coun=0输出coun停输入num64.2.1 程序解析#include void main()int coun,num;coun=0;scanf(%d,&num);docoun=coun+1;num=num/10;while(num!=0);printf(count=%dn,coun);num!=0coun=coun+1非00num=num/10coun=0输出coun停输入num74.2.2 dowhile循环语句直到型循环 做循环一直到条件不满足为止格式 do 语句 while(表达式);其中 语句是一个语句或复合语句 表达式是条件,求值得真(非0)或假(0)操作 先做语句,然后
7、判别表达式的值,如 非0则继续循环;否终止循环。表达式语句非00 loop:语句;if(表达式)goto loop;等价于8 循环语句的选择循环语句的选择:for:知道循环次数、能表示增量型、只要能表示三个表达式。最常用。while:当循环次数未知时,使用较多。先判断,后循环do-while:必须从循环体中才能得到循环变量的值,然后再判决 定是否进行下一次循环。先循环,后判断94.3 break语句和continue语句 break语句 当break语句出现在while、dowhile、for语句的循环体内,执行 break时立即终止循环 表达式2语句非00表达式1表达式3break例 半径为
8、1100,要求打印圆 面积100时的半径和圆面积#include stdio.hvoid main()int r;float area;for(r=1;r100)break;printf(r=%d,area=%fn,r,area);表达式?0非0语句10例4-4输入一个正整数m,判断它是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。素数:指只能被1和自身整除的正整数即 用m分别去除以2、3、m-1,全除不尽时,m是素数实际上除数的范围2,m/2,可以证明在2,im/2输出no10#include stdio.hvoid main()int i,m;scanf(%d,&m)
9、;for(i=2;im/2)printf(YESn);else printf(NOn);break11#include stdio.hvoid main()int i,m;scanf(%d,&m);for(i=2;i=m/2;i+)if(m%i=0)printf(NO n);else printf(YES n);若改动程序#include stdio.hvoid main()int i,m;scanf(%d,&m);for(i=2;i=m/2;i+)if(m%i=0)printf(NO n);break;printf(YES n);未退出循环退出循环未退出程序12要考虑边界值:1不是素数,2是
10、素数#include stdio.hvoid main()int i,m;scanf(%d,&m);for(i=2;im/2)printf(YESn);else printf(NOn);m i im/2)1 2 21/2 -yes2 2 22/2 -yes#include stdio.hvoid main()int flag,m;scanf(%d,&m);if(m=1)flag=0;else if(m=2)flag=1;else int i;flag=1;for(i=2;i=m/2;i+)if(m%i=0)flag=0;break;if(flag)printf(YESn);else print
11、f(NOn);13 continue语句 格式 continue;当continue语句出现在while、dowhile、for语句的循环体内,执行 continue时终止本次循环,接着执行下一次循环表达式2语句非00表达式1表达式3continue表达式?0非0例 把100200之间的不能被3整 除的数输出#include stdio.hvoid main()int n;for(n=100;n 1 s=0i=4 4%2 -0 s=0+4=4i=3 3%2 -1 s=4i=2 2%2 -0 s=4+2=6i=1 1%2 -1 s=6i=0 循环结束15循环嵌套 循环语句的循环体中又包含了另一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 循环 结构
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内