欢迎来到天天文库
浏览记录
ID:50083633
大小:1.07 MB
页数:85页
时间:2020-03-08
《C语言程序设计 教学课件 作者 柴世红_第6章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章循环结构程序设计6.1引例6.2while语句6.3do-while语句6.4for语句6.5几种循环的比较6.6循环嵌套6.7break和continue语句6.8案例学习6.1引例【例6-1】求1~100的累计和。 分析:根据已有的知识,可以用“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的值就是1~100的累计和。程
2、序流程如图6.1所示。图6.1例6-1流程图在C语言中,可用以下语句实现循环:(1) for语句。(2) do-while语句。(3) while语句。(4)goto语句和if语句构成循环。使用goto语句实现求解1~100累计和的程序如下:6.2while语句(1)语句格式:while(表达式){循环体语句组;}循环体如果只有一条语句组成,可以不用花括号括起来(即不用写成复合语句形式)。(2)执行过程。while循环语句的执行过程如图6.2所示。 ①求解表达式,如果其值为真(非0),转②;否则转③。 ②执行循环体语句组,然后转①。 ③执行while语句的下一条
3、。(3)特点:先判断表达式,后执行循环体语句。图6.2while循环语句流程图【例6-2】用while语句求1~100的累计和。图6.3例6-2运行结果【例6-3】用while语句求n!。 分析:根据阶乘的数学定义可知,n!=n*(n-1)*(n-2)*(n-3)*…*2*1=n*(n-1)!。由此可知,有如下分析过程:图6.4例6-3流程图根据流程图编程如下:图6.5例6-3运行结果6.3do-while语句(1)语句格式:do{循环体语句组;}while(表达式);当循环体语句组仅由一条语句构成时,可以不使用复合语句形式。(2)执行过程。do-while语句的执行过
4、程如图6.6所示。 ①执行循环体语句组。 ②判断表达式。如果表达式的值为非0(真),则转向①继续执行;否则,转向③。 ③执行do-while的下一条语句。(3)特点:先执行循环体语句组,然后再判断循环条件,因此循环体至少被执行一次。图6.6do-while循环语句流程图【例6-4】用do-while语句求解1~100的累计和。【例6-5】用do-while语句求n!。 编程如下:6.4for语句在3条循环语句中,for语句最为灵活,不仅可用于循环次数已经确定的情况,也可用于循环次数虽不确定,但给出了循环继续的条件的情况。(1)语句格式:for([表达式1];[
5、表达式2];[表达式3]){循环体语句组;}当循环体语句组仅由一条语句构成时,可以不使用复合语句形式。(2)执行过程。for语句的执行过程如图6.7所示。 ①求解表达式1。 ②求解表达式2。该表达式的值为逻辑量,如果其值为“真”(非0),执行③;否则,转至④。 ③执行循环体语句组,并求解表达式3,然后转向②。 ④执行for语句的下一条语句。图6.7for循环语句流程图【例6-6】用for语句求解1~100的累计和。【例6-7】用for语句求n!。(3)说明。 ①表达式1、表达式2和表达式3均可缺省,甚至全部缺省,但其间的分号“;”绝对不能省略。例如可将例
6、6-6中的for语句改写成以下几种形式:②当循环体语句组仅由一条语句构成时,可以不使用复合语句形式,如例6-6、例6-7所示。 ③表达式1既可以是给循环变量赋初值的赋值表达式,也可以是与此无关的其它表达式(如逗号表达式)。 例如:for( sum=0;i<=100;i++)sum+=i;for(sum=0,i=1;i<=100;i++)sum+=i;④表达式2部分是一个逻辑量,除一般的关系(或逻辑)表达式外,也允许是数值(或字符)表达式。6.5几种循环的比较1.while语句和do-while语句的区别两者的重要区别在于:执行循环体时,对作为循环条件的表达式求值和验
7、证的时间不同。while语句先判断循环条件是否满足,然后再执行循环体语句,故循环体语句有可能一次都不被执行;而do-while语句先执行循环体语句,然后再判断循环条件是否满足,故循环体语句至少被执行一次。例如下面的程序,分别用while语句和do-while语句实现。【例6-8】用while语句编写程序,写出其运行结果。图6.8例6-8运行结果【例6-9】用do-while语句编写程序,写出其运行结果。图6.9例6-9运行结果2.for语句的强大功能for语句可以在表达式1中实现循环变量的初始化;而用while和d
此文档下载收益归作者所有