谭浩强全套配套课件C程序设计教程 C演示文稿05.ppt

谭浩强全套配套课件C程序设计教程 C演示文稿05.ppt

ID:51623591

大小:73.00 KB

页数:28页

时间:2020-03-26

谭浩强全套配套课件C程序设计教程 C演示文稿05.ppt_第1页
谭浩强全套配套课件C程序设计教程 C演示文稿05.ppt_第2页
谭浩强全套配套课件C程序设计教程 C演示文稿05.ppt_第3页
谭浩强全套配套课件C程序设计教程 C演示文稿05.ppt_第4页
谭浩强全套配套课件C程序设计教程 C演示文稿05.ppt_第5页
资源描述:

《谭浩强全套配套课件C程序设计教程 C演示文稿05.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章语句结构Ⅱ本章要点:●掌握C语言中3个基本循环结构的特点和应用。●掌握循环结构中的无条件控制语句(主要是break和continue)的应用。●掌握怎样避免“无限循环”。●掌握循环结构的嵌套使用。15.1概述循环结构中也有个“条件”,它是用来决定是否要“循环”,所谓循环就是要程序重复执行某一个模块。循环结构也是结构化程序设计的基本成分之一。循环结构中根据表达式的两个状态(非0或0)决定循环是否继续。这些被重复执行的语句或模块,称为循环体。假定在循环过程中,循环结构中的条件始终得不到改变,或者是在改变,但始终不可能从一个状态跳到另一个状态,那么这种循环称为

2、无限循环,或称“死循环”。一个合理的循环结构,最终会使循环条件由一个状态转变为另一个状态,使循环正常终止。在C语言中,主要有以下三种循环结构:while循环结构;do-while循环结构;for循环结构。25.2while循环结构程序运行到while循环结构时,先判该结构中的条件,若条件为“真”执行循环体,条件为“假”不执行循环体。它的一般形式如下:while(表达式)语句(循环体)图5.1以图示的方式表示while循环结构的执行过程,其中(a)为常用流程图,而(b)为N_S结构化流程图。表达式的值为非0(真)时,执行循环体,循环体可以是简单句,也可以是复合句

3、。每执行一次循环体以后,都要判别一下表达式(条件)的值,看是否从一个状态跳到另一状态,若仍是非0,再执行循环体,如此循环执行,3一直到表达式的值为0(假)时,不执行循环体,循环终止。此后程序执行进入循环结构的下一条语句。(讲解例5.1、例5.2、例5.3、例5.4、例5.5)表达式循环体循环体while(表达式)图5.1while循环结构流程图(a)(b)4例5.1补充说明:循环控制变量c在有符号字符型和无符号字符型情况下内存中代码(内码,即补码或机器码)的变化,从中也可看出出现无限循环的原因,如下表所示:表达式c++内码的变化无符号十进制有符号十进制0000

4、000000↓↓↓0111111112712710000000128-12810000001129-127↓↓↓11111111255-100000000005例5.2:求12+22+32+…….+1002的和main(){longsum=0;intc=1;while(c<=100){sum+=c*c;c++;}printf(“%d,%ld”,c,sum);}输出的c=101当c<=100时,反复执行c=101时,停止循环如果缺少了语句c++;那么c的值在循环中就不会变,从而while中的条件就不会变,它就成了无限循环(死循环)!这是我们要回避的。循环之初

5、的c与sum值65.3 do_while循环结构do_while循环结构与while循环结构不一样,它先执行循环体,而后判别循环条件,若循环条件中的表达式值为非0(真),那么回去再执行循环体。每执行一次循环体后,都判别一次循环条件,直到循环条件中的表达式值为0(假),循环终止。它的一般形式是:do{语句(循环体)}while(表达式);它的执行过程见图5.4所示。7循环体循环体表达式while(表达式)图5.4do_while循环结构流程图(a)(b)非008(讲解例5.6、例5.7、例5.8、例5.9、例5.10)例5.6~例5.10与例5.1~例5.5的问

6、题相同,所用的循环结构不同,由此可知,在一般情况下,while循环和do_while循环可以用来处理同一个问题。但必须注意,while循环可以一次也不执行循环体(循环条件一开始就不满足时),而do_while循环则不同,程序执行到do_while循环时,至少要执行一次循环体。可以说用do_while循环做的事情,都可以用while循环来做;而用while循环来做的事情,do_while循环不一定能做。所以一般用while循环比较方便。使用do_while循环结构时,特别要注意该结构的最后有一个分号,初学者很容易忘记。9又例:输入n和p,求n2+(n+1)2+(

7、n+2)2+…+(n+p)2的和(用do_while循环)。main(){longsum=0;intn,p,c=0;scanf(“%d%d”,&n,&p);do{sum+=(n+c)*(n+c);c++;}while(c<=p);printf(“%d,%ld”,c,sum);}当c<=p时,反复执行当c>p时,结束循环c是一个大于p的值105.4  for循环结构for循环结构的一般形式是:for(表达式1;表达式2;表达式3)语句(循环体)表达式1也称初始化表达式,用来设定循环控制变量或其他变量的初值,若有多个变量需要初始化时,表达式1要使用逗号表达式。

8、表达式2也称循环条件表达式,用来决定是

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

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

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