第六章 循环结构程序设计1(c语言程序设计)_第1页
第六章 循环结构程序设计1(c语言程序设计)_第2页
第六章 循环结构程序设计1(c语言程序设计)_第3页
第六章 循环结构程序设计1(c语言程序设计)_第4页
第六章 循环结构程序设计1(c语言程序设计)_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

第六章 循环结构程序设计问题提出计算1+2+3+4+5,a=1+2+3+4+5;,反复执行同一操作,用循环完成。,计算1+2+3+100,sum=0; 当i=1100 执行sum=sum+i,C语言可实现循环的语句:用goto 和 if 构成循环while 语句do while 语句for 语句,goto语句及用goto构成循环goto语句一般格式:,goto 语句标号; .标号:语句;,功能:无条件转移语句说明:标号是标识符,只能加在goto所在函数内的可执行语句前面,且唯一限制使用goto语句,与if一起构成循环结构,从循环中跳出,例 用if 和goto语句构成循环,求,/*601.c*/#include main() int i,sum=0; i=1;loop: if(i=100) sum+=i; i+; goto loop; printf(%d,sum);,sum=0+1sum=1+2=3sum=3+3=6sum=6+4sum=4950+100=5050,while语句一般形式:,while(表达式) 循环体语句;,执行流程:,特点:先判断表达式,后执行循环体,循环体有可能一次也不执行,循环体可为任意类型语句,无限循环: while(1) 循环体;,例 用while循环求,/*602.c*/#include main() int i,sum=0; i=1; while(i=100) sum=sum+i; i+; printf(%d,sum);,dowhile语句一般形式:,do 循环体语句; while(表达式);,执行流程:,特点:先执行循环体,后判断表达式,至少执行一次循环体,例 用dowhile循环求,/*603.c*/#include main() int i,sum=0; i=1; do sum+=i;i+; while(i=100); printf(%d,sum);,dowhile可转化成while结构,例6.4 while和do while比较,main() int i,sum=0; scanf(%d,main() int i,sum=0; scanf(%d,结论: 当二者具有相同循环体,若while后面的表达式的第一次的值为“真”时,两种循环的结果相同。否则不相同,for语句一般形式:,for(expr1 ; expr2 ; expr3) 循环体语句;,执行流程:,for语句一般应用形式:,for(循环变量赋初值;循环条件;循环变量增值)循环体语句;,说明:for语句中expr1, expr2 ,expr3 类型任意,都可省略,但分号;不可省,注意,无限循环: for(;),for语句表达式的计算:,for语句中的expr1和expr3可以是逗号表达式,for (sum=0,i=1; i=100; sum=sum+i, i+);,for语句中的expr2通常为关系表达式或逻辑表达式,但也可以是数值或字符表达式,非0即真。,for (; (ch=getchar( )!=n; ) ,几种循环的比较,四种循环可以用来处理同一问题,一般情况下可互相代替.,while和do-while循环在while后指定循环条件,循环体中应包含使循环趋于结束的语句.,for语句可以将使循环趋于结束的语句放在expr3中,也可放在循环体中.,while和do-while循环变量的初始化在while和do-while语句之前,for语句可在expr1中实现.,若开始时循环条件不成立,do-while执行一次循环体,而while不执行.,循环的嵌套三种循环可互相嵌套,层数不限外层循环可包含两个以上内循环,但不能相互交叉嵌套循环的执行流程,(1) while() while() . ,(2) do do while( ); . while( );,(3) while() do while( ); . ,例 循环嵌套,输出九九表,1,2,4,3,6,9,9,18,27,36,45,54,63,72,81,.,/*6x.c*/#include main() int i,j; for(i=1;i10;i+) printf(%4d,i); printf(n-n); for(i=1;i10;i+) for(j=1;j=i;j+) printf(%4d,i*j); if(i=j) printf(“n”);,4.5 辅助控制语句break语句功能:在循环语句和switch语句中,终止并跳出循环体或开关体说明:break只能终止并跳出最近一层的结构break不能用于循环语句和switch语句之外的任何其它语句之中,例605a break举例:输出圆面积,面积大于100时停止,#define PI 3.14159main() int r; float area; for(r=1;r100) break; printf(r=%d,area=%.2fn,r,area); ,continue语句功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断仅用于循环语句中,例 打印100200之间不能被3整除的数,/*605b.c*/#include main( ) int n; for(n=100;n=200;n+) if(n%3=0) continue; printf(“%d”,n); ,程序举例,分子

温馨提示

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

评论

0/150

提交评论