《C语言函数循环》PPT课件.ppt_第1页
《C语言函数循环》PPT课件.ppt_第2页
《C语言函数循环》PPT课件.ppt_第3页
《C语言函数循环》PPT课件.ppt_第4页
《C语言函数循环》PPT课件.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

C程序流程设计,程序的三种基本结构,选择型程序设计,循环型程序设计,辅助控制语句,结构化程序设计基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移语句(goto)结构化程序:由三种基本结构反复嵌套构成的程序优点:结构清晰,易读,提高程序设计质量和效率三种基本结构顺序结构,程序的三种基本结构,k,A1,A2,Ai,An,k=k2,k=k1,k=kn,k=ki,.,.,选择结构二分支多分支,当型循环结构,直到型循环结构,循环结构,概述C语言可实现循环的语句:用goto和if构成循环while语句dowhile语句for语句goto语句及用goto构成循环goto语句一般格式:,goto语句标号;.标号:语句;,循环型程序设计,功能:无条件转移语句说明:不能用整数作标号只能出现在goto所在函数内,且唯一只能加在可执行语句前面限制使用goto语句,循环型程序设计,#includemain()inti,sum=0;i=1;loop:if(i=100)sum+=i;i+;gotoloop;printf(%d,sum);,例用if和goto语句构成循环,一般形式:,while(表达式)循环体语句;,执行流程:,while语句,用while循环求,#includemain()inti,sum=0;i=1;while(i=100)sum=sum+i;i+;printf(%d,sum);,例子,do循环体语句;while(表达式);,执行流程:,dowhile语句,一般形式:,特点:先执行循环体,后判断表达式说明:至少执行一次循环体dowhile可转化成while结构,dowhile语句特点和说明,一般形式:,for(expr1;expr2;expr3)循环体语句;,执行流程:,for语句,for(循环变量赋初值;循环条件;循环变量增值)循环体语句;,说明:for语句中expr1,expr2,expr3类型任意,都可省略,但分号;不可省无限循环:for(;)for语句可以转换成while结构,expr1;while(expr2)循环体语句;expr3;,for语句一般应用形式,例:#includemain()inti=0;for(i=0;i10;i+)putchar(a+i);,运行结果:abcdefghij,例:#includemain()inti=0;for(;i10;i+)putchar(a+i);,例:#includemain()inti=0;for(;i10;)putchar(a+(i+);,例:#includemain()inti=0;for(;i10;putchar(a+i),i+);,三种循环可互相嵌套,层数不限外层循环可包含两个以上内循环,但不能相互交叉嵌套循环的执行流程,(1)while()while().,(2)dodowhile();.while();,(3)while()dowhile();.,(4)for(;)dowhile();while().,循环的嵌套,嵌套循环的跳转禁止:从外层跳入内层跳入同层的另一循环向上跳转,辅助控制语句,break语句功能:在循环语句和switch语句中,终止并跳出循环体或开关体说明:break只能终止并跳出最近一层的结构break不能用于循环语句和switch语句之外的任何其它语句之中,辅助控制语句(图解1),辅助控制语句(图解2),功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断仅用于循环语句中,continue语句,百马百担,有100匹马,驮100担货,其中大马驮3担,中马驮2担,两匹小马驮1担,请列出所有的可能组合,for(i=1;i=100;i+)for(j=1;j0)x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/x2=x1;day-;printf(thetotalis%dn,x1);,古典问题:斐波那契数列,有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?,1,1,2,3,5,8,13,21.,main()longfn1,fn2,fn3;inti,n;printf(输入月数(少于40):“);scanf(%d,求s=a+aa+aaa+aaaa+aa.a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。,main()inta,n,count=1;longintsn=0,tn=0;printf(pleaseinputaandnn“);scanf(%d,%d,求和累加:,有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?,age(intn)intc;if(n=1)c=10;elsec=age(n-1)+2;return(c);main()printf(%d,age(5);,递归问题:,如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。,亲密数,穷举问题,main()inta,i,b,n;for(a=1;a3000;a+)/*穷举3000以内的全部整数*/for(b=0,i=1;i=a/2;i+)if(!(a%i)b+=i;for(n=0,i=1;i=b/2;i+)if(!(b%i)n+=i;if(n=a,两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。,main()chari,j,k;/*i是a的对手,j是b的对手,k是c的对手*/for(i=x;i=z;i+)for(j=x;j=z;j+)if(i!=j)for(k=x;k=z;k+)if(i!=k,输入一个长度不超过100的字符串,删除串中的重复字符。,intalread_saved(charlastchar,charnewstr,intj)inti=0;while(ij)if(lastchar=newstri)return1;i+;return0;,调试例题:,voidmain(

温馨提示

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

最新文档

评论

0/150

提交评论