c语言-第4章循环结构.pptx
![资源得分’ 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章循环结构.pptx》由会员分享,可在线阅读,更多相关《c语言-第4章循环结构.pptx(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1#include#include void main()int i,flag;double item,pi;pi=0;flag=1;i=1;item=1;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循环语句第1页/共29页24.1.2 while循环语句当型循环 当条件为真(非0)时做循环,否退出循环格式 while(表达式)语句其中 语句是一个语句或复合语句 表达式是条件,求值得真(非0)或假(0)操作 当表达式
2、的值非0,执行语句后继续循 环;当表达式的值0,终止循环。表达式语句非00 loop:if(表达式)语句;goto loop;等价于 for(;表达式;)语句;for(表达式1;表达式2;表达式3)语句;表达式1;while(表达式2)语句;表达式3;第2页/共29页3例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()in
3、t num;double mark,sum,aver;num=0;sum=0;scanf(%lf,&mark);while(mark=0)sum=sum+mark;num=num+1;scanf(%lf,&mark);aver=sum/num;printf(aver=%fn,aver);第3页/共29页44.2 统计一个整数的位数(dowhile语句)例4-3 从键盘读入一个整数,统计该数的位数。例如,输入1234,输出4;输入0,输出1。一个整数由多位数字组成,统计过程需要一位位地数利用 num/10-num,每统计一次减少一位数例 1234 整数 位数 1234 11234/10-123
4、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/10coun=0输出coun停输入num第4页/共29页54.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输出cou
5、n停输入num第5页/共29页64.2.2 dowhile循环语句直到型循环 做循环一直到条件不满足为止格式 do 语句 while(表达式);其中 语句是一个语句或复合语句 表达式是条件,求值得真(非0)或假(0)操作 先做语句,然后判别表达式的值,如 非0则继续循环;否终止循环。表达式语句非00 loop:语句;if(表达式)goto loop;等价于第6页/共29页74.2.3 循环语句的选择循环语句的选择:for:知道循环次数、能表示增量型、只要能表示三个表达式。最常用。while:当循环次数未知时,使用较多。先判断,后循环do-while:必须从循环体中才能得到循环变量的值,然后再判
6、决 定是否进行下一次循环。先循环,后判断第7页/共29页84.3 break语句和continue语句4.3.1 break语句 当break语句出现在while、dowhile、for语句的循环体内,执行 break时立即终止循环 表达式2语句非00表达式1表达式3break例 半径为1100,要求打印圆 面积100时的半径和圆面积#include stdio.hvoid main()int r;float area;for(r=1;r100)break;printf(r=%d,area=%fn,r,area);表达式?0非0语句第8页/共29页9例4-4输入一个正整数m,判断它是否为素数。
7、素数就是只能被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);for(i=2;im/2)printf(YESn);else printf(NOn);break第9页/共29页10#include stdio.hvoid main()int i,m;scanf(%d,&m);for(i=2;i=m/2;i+)if(m%i=0)printf(NO n);els
8、e 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);未退出循环退出循环未退出程序第10页/共29页11要考虑边界值:1不是素数,2是素数#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#inc
9、lude 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 printf(NOn);第11页/共29页124.3.2 continue语句 格式 continue;当continue语句出现在while、dowhile、for语句的循环体内,执行 continue时终止本次循环,接着执行下一次循环表达式2语句非00表达式1表达式3c
10、ontinue表达式?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 循环结束第13页/共29页14循环嵌套 循环语句的循环体中又包含了另一个循环语句(1)while().While().(2)do .While().while()(3)for().While().4.4 循环嵌套第14页/共29页15例4-6 求 s=1!+2!+3!+100!分析1!+2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 循环 结构
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内