第5章break和continue语句重复结构的应用.ppt_第1页
第5章break和continue语句重复结构的应用.ppt_第2页
第5章break和continue语句重复结构的应用.ppt_第3页
第5章break和continue语句重复结构的应用.ppt_第4页
第5章break和continue语句重复结构的应用.ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、1,while (表达式) 循环体; ,do 循环体; while (表达式);,回顾,int s=0,n=1; while(n=100) s+=n; n+; ,int s=0,n=1; do s+=n; n+; while(n=100);,for(p1;p2;p3) 循环体; ,int s=0; for(n=1;n=100;n+) s+=n; ,2,【for简单练习】求n! ,即计算p=123n的值。,思路:求阶乘与求累加的运算处理过程类似,只要将“+”变为“*”。,设置: 乘数i ,初值为1,终值为n(n是循环控制终值,需要从键盘输入),每次循环i+ 累乘器 p ,初值为1,每次循环令p

2、= p*i,3,程序:/求n!,#include void main( ) int i, n; long p; p=1; printf(Enter n:); scanf(%d, ,4,(1)分析: 求和,所以需要int sum;存和,加数是由用户输入的int x;因为要求出平均数,而输入数据的数量不能确定,所以要有一个变量作为计数器,存放输入数据的个数int count=0;,(2)数据: int sum=0,x; int count=0;,【补充例题 】 :输入全部学生成绩(整型数据),以0为结束符,计算平均值,(3)算法: (4)编程:,5,printf(输入若干数据(以0为结束符):n)

3、; scanf(%d,while(x!=0) /循环条件(以0为结束符) sum+=x; count+; /计数器加1 scanf(“%d”, /修改循环控制变量x的值! ,if(count!=0) printf(“平均值为:%0.2fn”,(float)sum/count); else printf(数据个数为0!n);,void main() int sum=0,x; int count=0;,/*输入若干数,以0为结束符,计算平均值while实现 */,输入若干数,以0为结束符,求最大值 ?,输入若干成绩,以-1为结束符,统计不及格人数 ?,输入一行字符,统计空格字符出现的次数 ?,6,

4、5.5 循环的嵌套,如果循环语句的循环体内又包含了另一条循环语句,则称为循环的嵌套 while、do-while、for循环语句可以并列,也可以相互嵌套。 多重循环程序执行时,外层循环的循环体每执行一次,内层循环被完整地执行一次(即其循环体可能被执行多次)。 例如:,for(a=1;a=2;a+) for (b=0;b=2;b+) printf(“*”); printf(“n”); ,外循环语句,内循环语句,7,5.7 break语句和continue语句,2、 continue语句 形式: 作用:结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。,contin

5、ue;,1、 break语句 形式: 作用:可使流程从switch结构或是循环体内跳出。 注意:break语句不能用于循环和switch之外的任何语句中!,break;,8,continue与break的区别 continue语句只结束本次循环,而非终止整个循环语句的执行,能帮助设置在某种条件下跳过循环体中部分语句的执行。而break语句则是结束整个循环语句,不再判断执行循环的条件是否成立。,/*计算半径在1到10之间的圆的面积,直到面积大于100为止*/ for (r=1;r=10;r+) area=PI*r*r; ; printf(“%f”,area); ,/*把1100之间的不能被3整除

6、的数输出。*/ for (n=1;n=100;n+) ; printf(“%d ”,n); ,if (n%3=0) continue,if (area100) break,9,#include void main() int i,s=0; for (i=1;i=10;i+) s+=i; printf(%dn,s); ,if (i%2=0) continue;,#include void main() int i,s=0; for (i=1; ;i+=2) s+=i; printf(%dn,s); ,i=10,if (i10) break;,本次循环在continue语句之后尚未执行的语句不再执

7、行,而继续进行下一次的循环判定。,跳出整个循环语句。,/*计算1到10之间的奇数之和*/,10,【例5.8】按每行输出5个数的形式输出Fibonacci数列的前20项 。,思路:Fibonacci数列的前几项是:1、1、2、3、5、8、13、21、34、。此数列的变化规律是:,设变量f1、f2和f3,并为f1和f2赋初值1,令f3=f1+f2得到第3项; 将f1f2, f2f3,再求f3=f1+f2得到第4项; 依此类推求第5项、第6项,11,算法和程序,#include #define N 20 void main( ) int i,f1,f2,f3; f1=f2=1; printf(n%8d%8d,f1,f2); for (i=3; i=N; i+) f3=f1+f2; f1=f2; f2=f3; printf(%8d,f3); if (i%5=0) printf(n); ,作业,12,阅读程序,void main() int n,s=0; printf(输入一个整数:); scanf(%d, 输出: _,13,阅读程序,int a; scanf(“%d”, ,int a; do printf(“*”); scanf(“%d”,输入:2 3

温馨提示

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

评论

0/150

提交评论