C语言中 循环结构PPT学习教案_第1页
C语言中 循环结构PPT学习教案_第2页
C语言中 循环结构PPT学习教案_第3页
C语言中 循环结构PPT学习教案_第4页
C语言中 循环结构PPT学习教案_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、会计学1C语言中语言中 循环结构循环结构2第1页/共42页表达式循环体语句假(0)真(非0)图5.1 while语句流程图第2页/共42页如果循环体语句包含多条语如果循环体语句包含多条语句,则需要用一对花括号句,则需要用一对花括号“”把循环体语句括起来,把循环体语句括起来,采用复合语句的形式。采用复合语句的形式。while (表达式表达式) 循环体语句循环体语句第3页/共42页5第4页/共42页第5页/共42页7第6页/共42页第7页/共42页9第8页/共42页第9页/共42页11循环体语句真(非0)假(0)表达式1表达式2表达式3for语句流程图第10页/共42页12【例5.1】 求前100

2、个自然数的和 。#include #include int main()int main() int n,sum=0; int n,sum=0; for (n=1;n=100;n+) for (n=1;n=100;n+) sum=sum+n;sum=sum+n; printf(sum=%dn,sum); printf(sum=%dn,sum); return 0; return 0; 第11页/共42页13第12页/共42页for(循环变量赋初值;循环条件;循环变量增值)(循环变量赋初值;循环条件;循环变量增值)for(表达式(表达式1;表达式;表达式2;表达式;表达式3) 循环体语句循环体语

3、句第13页/共42页15第14页/共42页16第15页/共42页第16页/共42页如果表达式在第一次判断时就不成立,则循环体一次也不执行。第17页/共42页第18页/共42页20循环体语句表达式假(0)真(非0)图5.5 dowhile语句流程图第19页/共42页21#include #include int main()int main() int n,sum=0; int n,sum=0; scanf(%d,&n); scanf(%d,&n); while (n=10) while (n=10) sum=sum+n; sum=sum+n; n+; n+; printf(sum=%dn,su

4、m); printf(sum=%dn,sum); return 0; return 0; #include #include int main()int main() int n,sum=0;int n,sum=0;scanf(%d,&n);scanf(%d,&n);dodo sum=sum+n; sum=sum+n; n+; n+; while (n=10);while (n=10);printf(sum=%dn,sprintf(sum=%dn,sum);um);return 0;return 0; 第20页/共42页第21页/共42页23【例例5.7】 用公式用公式 求求的近似值,直到的近

5、似值,直到71513114最后一项的绝对值小于最后一项的绝对值小于10-6为止。为止。第22页/共42页更强大,形式更简洁,使用更强大,形式更简洁,使用更灵活。更灵活。(3)while和和for是先测试循是先测试循环条件,后执行循环体语句,环条件,后执行循环体语句,循环体可能一次也不执行。循环体可能一次也不执行。而而dowhile语句是先执行循语句是先执行循环体语句,后测试循环条件,环体语句,后测试循环条件,所以循环体至少被执行一次。所以循环体至少被执行一次。第23页/共42页forfor( ; ; )( ; ; ) forfor( ; ; )( ; ; ) forfor( ; ; )( ;

6、; ) for( ; ; )for( ; ; ) forfor( ; ; )( ; ; ) forfor( ; ; )( ; ; ) 嵌套循环并列循环交叉循环(错误)第24页/共42页26第25页/共42页外层循环并顺序执行外层循环体的其它语句,外层循环体执行一次后,重新进行下一次的外层循环条件判断,若条件依然成立,则重复上述过程,直到外层循环条件不成立时,退出双重循环嵌套,执行后面其它语句。第26页/共42页第二步:外层循环对1000以内的所有正整数一一进行判断,利用第一步的方法,逐个判断n的因子之和s是否等于n。若相等,则显示输出。同样选用for循环。28第27页/共42页第28页/共42

7、页第29页/共42页第30页/共42页其一般形式如下:其一般形式如下:break;break;第31页/共42页33例子:例子:int r;int r;float area,pi=3.14159;float area,pi=3.14159;for(r=1;r=10;r+)for(r=1;r100) break;if(area100) break;printf(r=%d,area=%fn,r,area);printf(r=%d,area=%fn,r,area); 能使程序退出能使程序退出breakbreak语句所在的语句所在的最内层循环。最内层循环。第32页/共42页第33页/共42页35【例例

8、5.105.10】输入若干学生的成绩,求平均值。输入若干学生的成绩,求平均值。第34页/共42页对于对于whilewhile和和dowhiledowhile语句,语句,continuecontinue语句使程序语句使程序结束本次循环,跳转到循环条件的判断部分,根据结束本次循环,跳转到循环条件的判断部分,根据条件判断是否进行下一次循环;对于条件判断是否进行下一次循环;对于forfor语句,语句,continuecontinue语句使程序不再执行循环体中下面尚未执语句使程序不再执行循环体中下面尚未执行的语句,直接跳转去执行行的语句,直接跳转去执行“表达式表达式3 3”,然后再,然后再对循环条件对循

9、环条件“表达式表达式2 2进行判断进行判断”,根据条件判断,根据条件判断是否进行下一次循环。是否进行下一次循环。第35页/共42页37【例例5.125.12】从键盘输入两个正整数从键盘输入两个正整数m m和和n n,求它们的最大,求它们的最大公约数和最小公倍数。公约数和最小公倍数。方法一方法一:根据最大公约数的数学定义,使用for循环查找即能整除m又能整除n的最大的数就是m、n的最大公约数。 int m,n,k,max,x,y,z; printf(input m and n:n); scanf(%d,&m); scanf(%d,&n); x=m; y=n; for (k=1;k=(mn?m:n);k+)/*循环变量k的最大值应是m和n中的较小数*/ if (m%k=0&n%k=0) max=k; z=x*y/max; /*求最小公倍数*/ printf(m和n的最大公约数为:%d,n最小公倍数为:%dn,max,z);第36页/共42页第37页/共42页【例5.13】求Fibonacci数列前30项,每行输出5个数。 1 12 35 813.第38页/共42页40DDDDDDDC C C C CB B BA【

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论