05循环结构程序设计_第1页
05循环结构程序设计_第2页
05循环结构程序设计_第3页
05循环结构程序设计_第4页
05循环结构程序设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、2020/10/15,计算机与信息工程分院,循环结构程序设计,计算机与信息工程分院 C语言程序设计,2,主要内容,作业,计算机与信息工程分院 C语言程序设计,3,1.概述(1),返回主菜单,计算机与信息工程分院 C语言程序设计,4,2.循环控制语句(1),2.1 goto语句,一般形式:,goto 语句标号;,由字母、数字和下划线组成,不能使用整数,例 5-1,计算机与信息工程分院 C语言程序设计,5,2.循环控制语句(2),2.2 while语句,一般形式:,while(表达式) 语句,计算机与信息工程分院 C语言程序设计,6,2.循环控制语句(3),2.3 do-while语句,一般形式,

2、do 语句 while(表达式);,例 5-3,例 5-4,计算机与信息工程分院 C语言程序设计,7,2.循环控制语句(4),2.4 for语句,一般形式,for(表达式1;表达式2;表达式3) 语句,计算机与信息工程分院 C语言程序设计,8,2.循环控制语句(5),2.5 几种循环的比较,1)四种循环都可以用来处理同一个问题,一般可以互相代替。但一般不提倡用goto型循环。,2)while和do-while循环,循环体中应包括使循环趋于结束的语句。for语句功能最强。,3)用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成,而for语句可以

3、在表达式1中实现循环变量的初始化。,返回主菜单,计算机与信息工程分院 C语言程序设计,9,3.循环的嵌套,定义: 一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。,返回主菜单,计算机与信息工程分院 C语言程序设计,10,4.break语句和continue语句,break语句,continue语句,不能用于循环语句和switch语句之外的任何其他语句,跳过循环体中剩余的语句而强行执行下一次循环,break语句和continue语句的区别,例 5-5,返回主菜单,计算机与信息工程分院 C语言程序设计,11,5.程序举例,例 5-6,例 5-7,例 5-8,例 5-9,例 5-10,返回主

4、菜单,计算机与信息工程分院 C语言程序设计,12,作业,思考题 (1)分析几种循环语句的使用情况 (2)break和continue语句的使用,计算机与信息工程分院 C语言程序设计,13,The end,计算机与信息工程分院 C语言程序设计,14,例5-1用goto语句和if语句构成循环求,main() int i,sum=0; i=1; loop: if(i=100) sum=sum+i; i+; goto loop; printf(%dn,sum); ,输出: 5050,计算机与信息工程分院 C语言程序设计,15,例5-2 用while语句求,main() int i,sum=0; i=1

5、; while(i=100) sum=sum+i; i+; printf(%dn,sum); ,输出: 5050,传统流程图,N-S流程图,计算机与信息工程分院 C语言程序设计,16,例5-3 用do-while语句求,main() int i,sum=0; i=1; do sum=sum+i; i+; while(i=100) printf(%dn,sum); ,计算机与信息工程分院 C语言程序设计,17,例5-4 while和do-while循环比较,main() int sum=0,i; scanf(“%d”, ,main() int sum=0,i; scanf(“%d”, ,结果比较

6、,计算机与信息工程分院 C语言程序设计,18,while与do-while程序结果的比较,(1)while,(2)do-while,计算机与信息工程分院 C语言程序设计,19,for语句的执行过程,1)先求解表达式1 ; 2)求解表达式2,若其值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第3)步;若其值为假(0),则结束循环,转到第5)步 ; 3)求解表达式3 ; 4)转回上面第2)步继续执行 ; 5)循环结束,执行for语句下面的一个语句。,计算机与信息工程分院 C语言程序设计,20,for语句说明(1),1)for循环中的“表达式1(循环变量赋初值)”、“表达式2(循环条

7、件)”和“表达式3(循环变量增量)”都是选择项, 即可以缺省,但“;”不能缺省。,2)省略了“表达式1(循环变量赋初值)”, 表示不对循环控制变量赋初值。,3)省略了“表达式2(循环条件)”, 则不做其它处理时便成为死循环。,4)省略了“表达式3(循环变量增量)”, 则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。,5)可以省略“表达式1(循环变量赋初值)”和“表达式3(循环变量增量)”。,for(i=1;i=100;) sum=sum+i; i+;,for(;i=100;) 相当于 while(i=100) sum=sum+i; sum=sum+i; i+; i+;,

8、计算机与信息工程分院 C语言程序设计,21,for语句说明(2),6)3个表达式都可以省略。,7)表达式1可以是设置循环变量的初值的赋值表达式,也可以是其他表达式。,8)表达式1和表达式3可以是一个简单表达式也可以是逗号表达式。,9)表达式2一般是关系表达式或逻辑表达式,但也可是数值表达式或字符表达式,只要其值非零,就执行循环体。,for(sum=0;i=100;i+) sum=sum+i;,for(sum=0,i=1;i=100;i+)sum=sum+i;,for(;(c=getchar()!=n;) printf(“%c”,c);,计算机与信息工程分院 C语言程序设计,22,break语句

9、和continue语句的区别,程序(1) while(表达式1) if(表达式2)break; ,程序(2) while(表达式1) if(表达式2)continue; ,计算机与信息工程分院 C语言程序设计,23,break语句和continue语句的区别,流程图(1),流程图(2),计算机与信息工程分院 C语言程序设计,24,例5-5把100至200之间的不能被3整除的数输出。,main() int n; for(n=100;n=200;n+) if(n%3=0) continue; printf(%d ,n); ,计算机与信息工程分院 C语言程序设计,25,5-6 用公式 求,#incl

10、ude main() int s; float n,t,pi; t=1,pi=0;n=1.0;s=1; while(fabs(t)1e-6) pi=pi+t; n=n+2; s=-s; t=s/n; pi=pi*4; printf(pi=%10.6fn,pi); ,计算机与信息工程分院 C语言程序设计,26,5-7求Fibonacci数列40个数,main() long int f1,f2; int i; f1=1;f2=1; for(i=1;i=20;i+) printf(“%12ld%12ld”,f1,f2); if(i%2=0) printf(“n”); f1=f1+f2; f2=f2+f1; ,这个数列有如下特点:第1,2两个数为1,1.从第3个数开始,该数是其前面两个数之和。即: F1=1(n=1) F2=1(n=2) Fn=Fn-1+ Fn-2(n=3),计算机与信息工程分院 C语言程序设计,27,例5-8 判断m是否素数,#include main() int m,i,k; scanf(“%d”, ,计算机与信息工程分院 C语言程序设计,28,例5-9 求100至200间的全部素数,#include main() int m,i,k,n=0; for(m=101;m=k+1) printf(“%d”,m); n=n+1; if(n%n=

温馨提示

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

评论

0/150

提交评论