C语言 第06章 循环结构程序设计

C语言 第06章 循环结构程序设计

ID:43342428

大小:113.00 KB

页数:30页

时间:2019-10-08

C语言 第06章 循环结构程序设计_第1页
C语言 第06章 循环结构程序设计_第2页
C语言 第06章 循环结构程序设计_第3页
C语言 第06章 循环结构程序设计_第4页
C语言 第06章 循环结构程序设计_第5页
资源描述:

《C语言 第06章 循环结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第6章循环结构程序设计6.1循环语句概述6.2for语句和while语句6.3直到型循环do-while语句6.4break语句与continue语句6.5循环型程序设计举例良好的源程序书写习惯──注释(续)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~

2、100的累计和。根据已有的知识,单独实现每一步都不难。但是,由于需要经常使用这种重复计算结构(称为循环结构),C语言提供了3条循环语句来实现,以简化、并规范循环结构程序设计。在C语言中,可用以下语句实现循环:(1)用for语句。(2)用do-while语句。(3)用while语句。(4)用goto语句和if语句构成循环。使用goto语句实现求解1~100累计和的程序可以如下:main(){intn=1,sum=0;loop:sum+=n;n++;if(n<=100)gotoloop;printf(“sum=%d”,sum);}其中“loop:”为语句标号(格式:标号:语句行),

3、其命名遵循标识符命名规则。goto语句格式:goto标号,功能为:使系统转向标号所在的语句行执行。注意:结构化程序设计方法,主张限制使用goto语句。因为滥用goto语句,将会导致程序结构无规律、可读性差。 另外,从功能上说,for语句可完全代替当型循环语句while,所以该语句也不是必需的。6.2for语句和while语句在3条循环语句中,for语句最为灵活,不仅可用于循环次数已经确定的情况,也可用于循环次数虽不确定、但给出了循环继续条件的情况。[例6.1]求1~100的累计和。main() {inti,sum=0;/*将累加器sum初始化为0*/ for(i=1;i<=100;

4、i++)sum+=i;/*实现累加*/printf("sum=%d",sum); }程序运行情况如下:sum=5050[例6.2]求n的阶乘n!(n!=1*2*……*n)。main() {inti,n; longfact=1;/*将累乘器fact初始化为1*/printf(“Inputn:”);scanf(“%d”,&n); for(i=1;i<=n;i++)fact*=i;/*实现累乘*/printf("%d!=%ld",n,fact); }程序运行情况如下:Inputn:5↙ 5!=1201.for语句的一般格式for([变量赋初值];[循环继续条件];[循环变量增值]

5、) {循环体语句组;}2.for语句的执行过程(1)求解“变量赋初值”表达式。(2)求解“循环继续条件”表达式。如果其值非0,执行(3);否则,转至(4)。(3)执行循环体语句组,并求解“循环变量增值”表达式,然后转向(2)。(4)执行for语句的下一条语句。3.说明(1)“变量赋初值”、“循环继续条件”和“循环变量增值”部分均可缺省,甚至全部缺省,但其间的分号不能省略。(2)当循环体语句组仅由一条语句构成时,可以不使用复合语句形式,如上例所示。(3)“循环变量赋初值”表达式,既可以是给循环变量赋初值的赋值表达式,也可以是与此无关的其它表达式(如逗号表达式)。例如,for(sum=

6、0;i<=100;i++)sum+=i;for(sum=0,i=1;i<=100;i++)sum+=i;(4)“循环继续条件”部分是一个逻辑量,除一般的关系(或逻辑)表达式外,也允许是数值(或字符)表达式。4.while语句(1)一般格式while(循环继续条件) {循环体语句组;}(2)执行过程1)求解“循环继续条件”表达式。如果其值为非0,转2);否则转3)。2)执行循环体语句组,然后转1)。3)执行while语句的下一条。显然,while循环是for循环的一种简化形式(缺省“变量赋初值”和“循环变量增值”表达式)。[例6.3]用while语句求1~100的累计和。main()

7、 {inti=1,sum=0;/*初始化循环控制变量i和累计器sum*/ while(i<=100) {sum+=i;/*实现累加*/ i++;/*循环控制变量i增1*/ }printf(“sum=%d”,sum); }程序运行情况如下:sum=50505.循环嵌套(1)循环语句的循环体内,又包含另一个完整的循环结构,称为循环的嵌套。循环嵌套的概念,对所有高级语言都是一样的。(2)for语句和while语句允许嵌套,do-while语句也不例外。6.3直到型循环d

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。