第四部分循环结构教学课件.ppt
《第四部分循环结构教学课件.ppt》由会员分享,可在线阅读,更多相关《第四部分循环结构教学课件.ppt(40页珍藏版)》请在三一办公上搜索。
1、第 四 章 循环结构,4.1 用格里高利公式求的近似值(while语句)4.2 统计一个整数的位数(do-while语句)4.3 判断素数(break 和 continue 语句)4.4 求1!+2!+.+100!(循环嵌套)4.5 循环结构程序设计,本章要点,什么是循环?为什么要使用循环?如何实现循环?实现循环时,如何确定循环条件和循环体?怎样使用while 和do-while语句实现次数不确定的循环?while 和do-while语句有什么不同?如何使用break语句处理多循环条件?如何实现多重循环?,4.1 用格里高利公式求的近似值,例4-1使用格里高利公式求的近似值,要求精确到最后一项
2、的绝对值小于104。4.1.1 程序解析4.1.2 while语句,#include int main(void)int denominator,flag;double item,pi;flag=1;denominator=1;item=1.0;pi=0;while(fabs(item)=0.0001)item=flag*1.0/denominator;pi=pi+item;flag=-flag;denominator=denominator+2;pi=pi*4;printf(“pi=%fn”,pi);return 0;,4.1.1 程序解析求的近似值,pi=3.141613,item=0.0
3、?,fabs(item)0.0001,4.1.2 while 语句,while(条件)循环体语句;,循环条件,循环体,一条语句,while 语句和for语句都是在循环前先判断条件,while 语句说明,表达式1;while(表达式2)for的循环体语句;表达式3;,把for语句改写成while语句for(表达式1;表达式2;表达式3)循环体语句,while 和 for 的比较,for(i=1;i=10;i+)sum=sum+i;,i=1;循环变量赋初值while(i=10)循环条件 sum=sum+i;i+;循环变量的改变,循环体,例4-2 从键盘输入一批学生的成绩,计算平均成绩,并统计不及格
4、学生的人数。分析:求累加和确定循环条件不知道输入数据的个数,无法事先确定循环次数用一个特殊的数据作为正常输入数据的结束标志,比如选用一个负数作为结束标志。循环的三种常见的控制方式(计数控制的循环、条件控制的循环、标记控制的循环),#include Int main(void)int num;double grade,total;num=0;total=0;printf(“Enter grades:n);scanf(%lf,Enter grades:67 88 73 54 82-1Grade average is 72.80Number of failures is 1,4.2 统计一个整数的位
5、数,例4-3 从键盘读入一个整数,统计该数的位数。4.2.1 程序解析4.2.2 do-while语句,int main(void)int count,number;count=0;printf(Enter a number:);scanf(%d,4.2.1 程序解析统计一个整数的位数,Enter a number:12534It contains 5 digits.,Enter a number:-99It contains 2 digits.,Enter a number:0It contains 1 digits.,while(number!=0)number=number/10;cou
6、nt+;,4.2.2 do-while 语句,do 循环体语句 while(表达式),先循环,后判断,真,假,表达式,循环体语句,do-while的下一条语句,while 是先判别条件,再决定是否循环;do-while 是先至少循环一次,然后再根据循环的结果决定是否继续循环。,while 和 do-while 的比较,4.3 判断素数,例4-4 输入一个正整数m,判断它是否为素数。4.3.1 程序解析4.3.2 break语句 和continue语句,4.3.1 程序解析判断素数,算法:除了1和m,不能被其它数整除。设 i 取值 2,m-1 如果m不能被该区间上的任何一个数整除,即对每个i,m
7、%i 都不为0,则m是素数只要找到一个i,使m%i为0,则m肯定不是素数m%2%3%4%5%(m-1)不是素数|=0=0是素数&!=0!=0 m不可能被大于 m/2 的数整除 i 取值 2,m-1、2,m/2、2,for(i=2;i m/2)printf(yesn)else printf(non”);,int main(void)int i,m;printf(“Enter a number:);scanf(%d,例4-4源程序判断素数,Enter a number:9No,Enter a number:1111 is a prime number!,for(i=2;i=m/2;i+)if(m%
8、i=0)printf(No!n);else printf(%d is a prime number!n,m);,循环条件?循环的结束条件?,4.3.2 break 语句,while(exp)语句1 if(expb)break;语句2,for(i=2;i m/2)printf(Yes);else printf(No!n);,当循环有多个出口时:表示循环条件区分结束条件,for(i=2;i=m/2;i+)if(m%i=0)printf(No!n);break;printf(Yes);,continue 语句,while(exp)语句1 if(expb)continue;语句2,跳过continue
9、后面的语句,继续下一次循环,break 和 continue,#include stdio.hint main(void)char c;int i;for(i=0;i 10;i+)c=getchar();if(c=n)break;putchar(c);,abcefgh 123,abc,abcefgh1,continue;,break 和 continue,例如 以下程序段输出100200之间所有能被3整除的数。for(i=100;i=200;i+)if(i%3!=0)continue;printf(“%d”,i);,for(i=100;i=200;i+)if(i%3=0)printf(“%d”
10、,i);,例4-5 简单的猜数游戏。最多允许猜5次。,#include int main(void)int mynumber=38;/*计算机指定被猜的数*/int count=0,yournumber;for(count=1;count mynumber)printf(Sorry!your number is bigger than my number!n);else printf(Sorry!your number is smaller than my number!n);printf(Game is over!n);return 0;,4.4 求1!+2!+.+100!,for(i=1;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 部分 循环 结构 教学 课件

链接地址:https://www.31ppt.com/p-5116985.html