第06章循环控制.ppt
《第06章循环控制.ppt》由会员分享,可在线阅读,更多相关《第06章循环控制.ppt(32页珍藏版)》请在优知文库上搜索。
1、第六章 循环控制 循环结构是一种重要的程序结构,它与顺序结构、分支结构循环结构是一种重要的程序结构,它与顺序结构、分支结构一起构成三大基本结构。一起构成三大基本结构。循环是相似重复循环是相似重复,重复是完成工作的重要方法重复是完成工作的重要方法:实例实例1.考试后老师要对考试情况进行汇总,计算出全班考试后老师要对考试情况进行汇总,计算出全班N个学生个学生的平均分。的平均分。实例实例2.到超市购物完毕发现小票上写着共计到超市购物完毕发现小票上写着共计22件件 实例实例3.听说某某书写得非常精彩,冲到书店按分类找到书架听说某某书写得非常精彩,冲到书店按分类找到书架 循环的共同点:循环的共同点:重复
2、发生前通常需要做一些准备工作。重复发生前通常需要做一些准备工作。被重复的操作是被重复的操作是“相似相似”的而不是的而不是“相同相同”的的(3)重复一定有终止的时候。重复一定有终止的时候。对重复操作进行控制对重复操作进行控制 条件判断条件判断条件判断条件判断操操 作作操操 作作C语言中提供了三种循环控制语句:语言中提供了三种循环控制语句:for语句、语句、while语句和语句和dowhile语句,前两个是语句,前两个是“先判断后循环先判断后循环”的模式,后一个是的模式,后一个是“先循环后判断先循环后判断”的模式。的模式。概述C语言可实现循环的语句:用goto 和 if 构成循环while 语句d
3、o while 语句for 语句goto语句及用goto构成循环goto语句一般格式:goto 语句标号;.标号:语句;v功能:无条件转移语句v说明:l不能用整数作标号l标号只能出现在goto所在函数内,且唯一l标号只能加在可执行语句前面l限制使用goto语句求求1100的累计和。的累计和。根据已有的知识,可以用根据已有的知识,可以用“1+2+100”来求解,但显然很繁来求解,但显然很繁琐。现在换个思路来考虑:琐。现在换个思路来考虑:首先设置一个累计器首先设置一个累计器sum,其初值为,其初值为0,利用,利用sum+=n来计算(来计算(n依次取依次取1、2、100),只要解决以下),只要解决以
4、下3个问题即可:个问题即可:(1)将)将n的初值置为的初值置为1;(2)每执行)每执行1次次“sum+=n”后,后,n增增1;(3)当)当n增到增到101时,停止计算。此时,时,停止计算。此时,sum的值就是的值就是1100的累计和。的累计和。根据已有的知识,单独实现每一步都不难。但是,由于需要根据已有的知识,单独实现每一步都不难。但是,由于需要经常使用这种重复计算结构(称为循环结构),经常使用这种重复计算结构(称为循环结构),C语言提供了语言提供了3条循环语句来实现,以简化、并规范循环结构程序设计。条循环语句来实现,以简化、并规范循环结构程序设计。在语言中,可用以下语句实现循环:在语言中,可
5、用以下语句实现循环:(1)用)用for语句。语句。(2)用)用do-while语句。语句。(3)用)用while语句。语句。(4)用用GOTO 语句语句Ch5_1.c例 用if 和goto语句构成循环,求1001nn/*ch5_1.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循环初值循环终值循环变量增值循环条件循环体Ch5_11.c例 从键盘输入一组数据,以0结束输入,求数据和
6、/*ch5_11.c*/#include main()int number,sum=0;read_loop:scanf(%d,&number);if(!number)goto print_sum;sum+=number;goto read_loop;print_sum:printf(The total sum is%dn,sum);while语句v一般形式:while(表达式)循环体语句;v执行流程:expr循环体假(0)真(非0)whilev特点:先判断表达式,后执行循环体v说明:l循环体有可能一次也不执行l循环体可为任意类型语句l下列情况,退出while循环u条件表达式不成立(为零)u循环
7、体内遇break,return,gotol无限循环:while(1)循环体;Ch5_2.c例 用while循环求 1001nn/*ch5_2.c*/#include main()int i,sum=0;i=1;while(i=100)sum=sum+i;i+;printf(%d,sum);循环初值循环终值循环变量增值循环条件循环体Ch5_21.c例 显示110的平方/*ch5_21.c*/#include main()int i=1;while(i=10)printf(%d*%d=%dn,i,i,i*i);i+;运行结果:1*1=12*2=43*3=94*4=165*5=256*6=367*7
8、=498*8=649*9=8110*10=100dowhile语句v一般形式:do 循环体语句;while(表达式);v执行流程:do循环体expr假(0)真(非0)whilev特点:先执行循环体,后判断表达式v说明:l至少执行一次循环体ldowhile可转化成while结构expr循环体假(0)真(非0)循环体While循环Ch5_3.c例 用dowhile循环求 1001nn/*ch5_3.c*/#include main()int i,sum=0;i=1;do sum+=i;i+;while(i=100);printf(%d,sum);Ch5_4.c例 while和dowhile比较/*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 06 循环 控制