6_六章循环控制.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6_六章循环控制

6.1 3种循环控制语句 while语句 do-while 语句 for 语句 While语句 while语句用来实现“当型”循环结构。其一般形式如下: while(表达式)语旬 当表达式为非0值时,执行while语句中的内嵌语句。其流程图见图6.1。其特点是:先判断表达式,后执行语句。 例 6.2 求解:1+2+3+…+n main() { int i,sum=0; i=1; while(i=100) { sum=sum+i; i++; } printf(%d\n,sum); } Do-While 语句 do-while语句的特点是先执行循环体,然后判断循环条件是否成立。其一般形式为 do 循环休语旬 while(表达式); 它是这样执行的:先执行一次指定的循环体语句,然后判别表达式,当表达式的值为非零(“真”)时,返回重新执行循环体语句,如此反复,直到表达式的值等于0为止,此时循环结束。 例 6.3 求解:1+2+3+…+n main() { int i,sum=0; i=1; do { sum=sum+i; i++; }while(i=100) printf(%d\n,sum); } 例6.4 while和do-while循环的比较 6.5 for 语句 C语言中的for语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句。 for语句的一般形式为 for(表达式 1;表达式 2;表达式 3)语句 它的执行过程如下: (1)先求解表达式1。 (2)求解表达式2,若其值为真(值为非0),则执行for语句中指定的内嵌语句,然后执行下面第(3)步。若为假(值为0),则结束循环,转到第(5)步。 (3) 求解表达式3。 (4)转回上面第(2)步骤继续执行。 (5)循环结束,执行 for语句下面的一个语句。 for 语句可以理解为: for(循环变量赋初值;循环条件;循环变量增值)语句 说明 说明: (1)for语句的一般形式中的“表达式1”可以省略,此时应在 for语句之前给循环变量赋初值。注意省略表达式 1时,其后的分号不能省略。如for(;i=100;I++)sum=sum+1;执行时,跳过“求解表达式 1”这一步,其他不变。 (2)如果表达式2省略,即不判断循环条件,循环无终止地进行下去。也就是认为表达式2始终为真。 例如:for(i=1;;i++) sum=sum+1; 表达式1是一个赋值表达式,表达式2空缺。 (3)表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束。 例如:for(i=1;i=100;) { sum=sum+i; i++; } (4) 可以省略表达式1和表达式3,只有表达式2,即只给循环条件。 例如:for(;I100;) { sum=sum+I; I++; } (5) 3个表达式都可省略 如: for(;;)语句 即不设初值,不判断条件(认为表达式2为真值),循环变量不增值。无终止地执行循环体。 说明 (6)表达式1可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式。如: for(sum=0;I=100;I++) sum=sum+I; 表达式3也可以是与循环控制无关的任意表达式。表达式1和表达式3可以是一个简单的表达式,也可以是逗号表达式,即包含一个以上的简单表达式,中间用逗号间隔。如: for(sum=0,I=1;I=100;I++) sum=sum+I; 或 for(I=0,j=100;I=j;I++,h--) k=I+j; 表达式 1和表达式 3都是逗号表达式,各包含两个赋值表达式,即同时设两个初值,使两个变量增值 (7) 表达式一般是关系表达式(如 I=100)或逻辑表达式(如ab xy),但也可以是数值表达式或字符表达式,只要其值为非零,就执行循环体。例如: for(i=0;(c=getchar()!=\n;i+=c); for(;(c=getchar())!=\n;) printf(%c,c); 6.6循环的嵌套 一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环。各种语言中关于循环的嵌套的概念都是一样的。 三种循环(while循环、do-while循环和for循环)可以互相嵌套。例如,下面几种都是合法的形式:

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档