c语言程序设计 徐贞如 第6章 循环结构程序设计.ppt

c语言程序设计 徐贞如 第6章 循环结构程序设计.ppt

ID:50087991

大小:247.50 KB

页数:35页

时间:2020-03-04

c语言程序设计 徐贞如 第6章 循环结构程序设计.ppt_第1页
c语言程序设计 徐贞如 第6章 循环结构程序设计.ppt_第2页
c语言程序设计 徐贞如 第6章 循环结构程序设计.ppt_第3页
c语言程序设计 徐贞如 第6章 循环结构程序设计.ppt_第4页
c语言程序设计 徐贞如 第6章 循环结构程序设计.ppt_第5页
资源描述:

《c语言程序设计 徐贞如 第6章 循环结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章循环结构程序设计循环结构可以完成重复性、规律性的操作.在人们所需处理的运算任务中,常常需要用到循环,例如:1~100的累加和等。在语言中有三种循环语句:while、do—while、for。用goto语句和if语句也能构成循环。6.1goto语句goto语句为无条件转向语句。格式:goto<语句标号>;功能:程序执行到goto语句时,转到语句标号指定的语句去执行。说明:(1)语句标号必须用标识符表示,不能整数作为标号。(2)与if语句一起构成循环结构。[例题6.1]求s=1+2+3+……+100main

2、(){inti=1,s=0;loop:if(i<=100)/*loop是一个语句标号*/{s=s+i;i++;gotoloop;}printf(“s=%d”,s);}6.2for语句注意:结构化程序设计方法,主张限制使用goto语句。因为滥用goto语句,将会导致程序结构无规律、可读性差。6.2for语句1.for语句的一般格式for([变量赋初值];[循环继续条件];[循环变量增值]){循环体语句组;}2.for语句的执行过程(1)求解“变量赋初值”表达式。(2)求解“循环继续条件”表达式。如果其值非0

3、,执(3);否则,转至(5)。(3)执行循环体语句组,(4)求解“循环变量增值”表达式,然后转向(2)。(5)执行for语句的下一条语句。例如:for(n=1;n<=20;n++)s=s+n;for语句执行过程图3.说明(1)“变量赋初值”、“循环继续条件”和“循环变量增值”部分均可缺省,甚至全部缺省,但其间的分号不能省略。①i=1;for(;i<=100;i++)s=s+i;for中缺省变量赋初值,但是在for前面要有i=1;②for(i=1;;i++)s=s+i;for中缺省“循环继续条件”,相当于条件永

4、远为真,无限循环。③for(;;)语句;全部缺省即不设初值,不判断条件,循环变量不增值。无终止地执行循环体。3.说明(2)当循环体语句组仅由一条语句构成时,可以不使用{}号括,但是当循环体语句组由多条语句构成时必须用{}号括起来。(3)“循环变量赋初值”表达式,既可以是给循环变量赋初值的赋值表达式,也可以是与此无关的其它表达式(如逗号表达式)。例如:for(sum=0,i=1;i<=100;i++)sum+=i;(4)“循环继续条件”部分是一个逻辑量,除一般的关系表达式(如n<=20)或逻辑表达式(a

5、x

6、in(){inti,sum=0;/*将累加器sum初始化为0*/for(i=1;i<=100;i++)sum+=i;/*实现累加*/printf("sum=%d",sum);}程序运行情况如下:sum=5050例题[例题6.3]求t=1*2*3*4*5……*nmain(){intn,i;doublet=1.0;/*所求累乘值很大,所以用double型且初始化为1*/printf(“inputn:”);scanf(“%d”,&n);for(i=1;i<=n;i++)t=t*i;/*实现累乘,循环体只有一个语

7、句不用{}号*/printf(“t=%e”,t);/*用指数形式输出双精度类型的t变量的值*/}运行结果:inputn:5↙t=1.200000e+02此程序t放的是n!,当n较大时阶乘数会很大,所以定义为double型。例题例6.4求s=1+1/2+1/3+……1/nmain(){inti,n;floats=1;printf(“inputn:”);scanf(“%d”,&n);for(i=2;i<=n;i++)s=s+1.0/i;printf(“s=%f”,s);}此程序注意求1/2、1/3……时,如果

8、两个操作数都是int型,完成的是整除得0,则最后s的是1,这是错误的。应使除数和被除数其中有一个为实型才可以,如:s=s+1.0/i;或i定义为float,则s=s+1/i。运行结果:inputn:4↙s=2.0833336.3while语句(1)一般格式while(循环继续条件){循环体语句组;}(2)执行过程例题[例题6.5]用while语句求1~100的累计和。main(){inti=1,su

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

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

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