C语言循环语句ppt课件.ppt
《C语言循环语句ppt课件.ppt》由会员分享,可在线阅读,更多相关《C语言循环语句ppt课件.ppt(25页珍藏版)》请在三一办公上搜索。
1、第6章 循环结构程序设计,郭 瑞,主要内容,6.1 循环语句概述6.2 while语句6.3 直到型循环do-while语句6.4 for语句6.5 break语句与continue语句6.6 应用举例,6.1 循环语句概述,求1100的累计和。根据已有的知识,可以用“1+2+100”来求解,但显然很繁琐。现在换个思路来考虑:首先设置一个累计器sum,其初值为0,利用sum+=n来计算(n依次取1、2、100),只要解决以下3个问题即可:(1)将n的初值置为1;(2)每执行1次“sum+=n”后,n增1;(3)当n增到101时,停止计算。此时,sum的值就是1100的累计和。根据已有的知识,单
2、独实现每一步都不难。但是,由于需要经常使用这种重复计算结构(称为循环结构),C语言提供了3条循环语句来实现,以简化、并规范循环结构程序设计。在语言中,可用以下语句实现循环:(1)用for语句。(2)用do-while语句。(3)用while语句。,(4)用goto语句和if语句构成循环。使用goto语句实现求解1100累计和的程序可以如下:main()int n=1,sum=0;loop:sum+=n;n+;if(n=100)goto loop;printf(“sum=%dn”,sum);其中“loop:”为语句标号(格式:标号:语句行),其命名遵循标识符命名规则。goto语句格式:goto
3、标号,功能为:使系统转向标号所在的语句行执行。注意:结构化程序设计方法,主张限制使用goto语句。因为滥用goto语句,将会导致程序结构无规律、可读性差。另外,从功能上说,for语句可完全代替当型循环语句while,所以该语句也不是必需的。,6.2 while语句,while语句是支持“当型”循环控制结构的语句:一般格式为:while(表达式)语句 注意:语句部分可以是一个语句,也可以是多个语句。若有多个语句,则要用大括号“”将多个语句括起来构成复合语句。,执行过程:1)求解表达式。如果其值为非0,转2);否则转3)。2)执行循环体语句组,然后转1)。3)执行while语句的下一条。,案例 用
4、while语句求1100的累计和。main()int i=1,sum=0;/*初始化循环控制变量i和累计器sum*/while(i=100)sum+=i;/*实现累加*/i+;/*循环控制变量i增1*/printf(“sum=%dn”,sum);程序运行情况如下:sum=5050,while语句的特点是先判断表达式的值,然后才决定是否执行循环体。如果一开始表达式的值就是0,那么循环体一次也不执行。例如程序段 i=10;while(i3)printf(“i=%dn”,i);在这个while语句中循环体一次也不执行。注意:当表达式的值恒为非“0”时,则表示循环条件永远成立,循环就会无休止地执行下去
5、,称这种情况称为“死循环”,在程序设计中必须设法排除。例如:while(10),6.3 直到型循环do-while语句,Dowhile 结构:Do 语句 While(表达式)先执行语句;计算表达式的值.根据其值判断,为真(非0)时,返回重新执行;根据表达式判断,其值为假(即0)时,结束 do-while语句,执行其后继语句 do-while 语句和while语句基本相似,执行do-while 语句时,它的循环体语句最少执行一次,而while语句的循环体语句可能一次也不被执行。当while 后面的表达式的值第一次为“真”时,两种循环结构得到的结果相同。否则,二者结果不同。,案例 用do-whil
6、e语句求解1100的累计和。main()int i=1,sum=0;/*定义并初始化循环控制变量,以及累计器*/do sum+=i;/*累加*/i+;while(i=100);/*循环继续条件:i=100*/printf(“sum=%dn”,sum);do-while语句比较适用于处理:不论条件是否成立,先执行1次循环体语句组的情况。,6.4 for语句,for语句的一般形式:for(表达式1;表达式2;表达式3;)语句组其中:表达式1循环初始化表达式,主要作用是对循环变量置初值。表达式2控制是否继续循环的条件表达式,为真则继续循环,否则跳出循环。表达式3对循环控制变量增量或减量的表达式。语句
7、循环体,循环过程中将被重复执行。,在3条循环语句中,for语句最为灵活,不仅可用于循环次数已经确定的情况,也可用于循环次数虽不确定、但给出了循环继续条件的情况。案例 求1100的累计和。main()int i,sum=0;/*将累加器sum初始化为0*/for(i=1;i=100;i+)sum+=i;/*实现累加*/printf(sum=%dn,sum);程序运行情况如下:sum=5050,几点说明:1.for语句for(i=0,j=1;jn结果完全相同。,3.若省略表达式1和表达式3,则while语句与这样的for语句等价。for(;表达式;)while(表达式)语句 语句4.若省略表达式2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 循环 语句 ppt 课件
链接地址:https://www.31ppt.com/p-2052367.html