- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 循环结构程序设计 P114 5.1 为什么需要循环控制 5.2 用 while 语句实现循环 5.3 用do while 语句实现循环 5.4 用for 语句实现循环 5.5 循环的嵌套 5.6 几种循环的比较 5.7 改变循环执行状态 5.8 循环程序举例 习题 5.1 为什么需要循环控制 P114 在实际问题中, 经常会遇到许多具有规律性的重复运算, 因此在程序中就需要将某些语句重复执行。 循环语句由两部分组成的:循环条件和循环体。 循环条件: 决定循环体中的语句是否执行的条件。 循环体: 一组被重复执行的语句。 *用循环算法来求 5! P18 可以设两个变量,一个变量p表示结果其初值为1(被乘数),一个变量i代表乘数。 S1: 使 p=1 (p称为乘法器,其初值为1) S2: 使 i=2 (生成乘数,生成正整数) S3: 使 p×i,乘积仍放在变量p中, 可表示为 p×i=p S4: 使i的值加1,即i+1 = i (i 同时也是控制变量) S5: 如果i不大于5,返回重新执行步骤S3以及其后的步骤S4和S5;否则,算法结束。 最后得到p的值就是 5! 的值。 实现循环的方法: (1) 用while()~语句; (2) 用do~while()语句; (3) 用for语句。 在下面各节中将分别作介绍。 5.2 while语句 P115 while语句用来实现“当型”循环结构。 其一般形式如下: while (表达式) 语句 执行过程: ① 计算表达式的值 ② 若表达式非0, 则执行语句, 然后转① 若表达式为0, 则退出循环, 执行该循环后的语句。 其流程图见图5.2。 特点:先判断表达式,后执行语句。 根据流程图写出程序: #include stdio.h int main( ) { int i=1,sum=0; while (i=100) { sum=sum+i; i++; } printf( sum=%d\n,sum); return(0); } 注意: (1) 循环体如果包含一个以上的语句,应该用花括弧括起来,以复合语句形式出现。 如果不加花括弧,则while语句的范围只到while后面第一个分号处。 *(2) 进入循环前应准备好循环条件; 在循环体中应有使循环趋向于结束的语句。 例如,在本例中循环结束的条件是“i100”,因此在循环体中应该有使i增值以最终导致i100的语句,今用“i++;”语句来达到此目的。 如果无此语句,则i的值始终不改变,循环永不结束。 5.3 do~ while( ) 语句 P117 一般形式为: do 循环体语句 while (表达式); 执行过程: ① 执行循环体 ② 计算表达式值 若表达式的值为真(非0), 则转① 若表达式的值为假(0), 则结束循环 可以用图表示其流程。 请注意do ~ while循环用NS流程图的表示形式。 特点:是先执行循环体,然后判断循环条件是否成立。 例5.3用do ~ while( )语句求∑n。 先画出流程图,见图5.5。 程序如下: #include stdio.h int main( ) { int i,sum=0; i=1; do { sum=sum+i; i++; }while (i=100) ; printf(“%d”,sum); return(0); } 在一般情况下,用while语句和用do-while语句处理同一问题时,若二者的循环体部分是一样的,它们的结果也一样。 *但是如果while后面的表达式一开始就为假(0值)时,两种循环的结果是不同的。 例5.3 while( ) ~ 和 do ~ while( ) 循环的比较。 (1) #include stdio.h #include stdio.h int main ( ) int main( )
原创力文档


文档评论(0)