- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 循环控制 6.1 概述 前面已介绍过程序有三种结构:顺序、分支和循环,如果仅用顺序和分支编制程序势必语句使用的效率很低,因此有许多程序需用循环来实现。 6.2 goto语句以及用goto语句构成循环 格式: goto 标号 意义: 无条件地转向标号指出的语句 使用goto语句时应注意: (1) C语言的标号是用标识符表示的 (2) 过多地使用goto语句会使程序的易读性降低 (3) goto只能从语句的内部转向语句的外部,而不能从语句外转向语句内 (4) goto可以作为一种特殊的程序出口 例:利用goto语句求 main() {int i,sum=0; i=1; loop: sum+=i++; if(i=100) goto loop; printf(%d,sum); } 6.3 用while语句实现循环 当一些循环次数不能计算出来的循环往往用当型循环语句。 格式: while (表达式) 语句 意义: 当表达式的值为“真”(非零)时,执行循环体(语句),执行循环体后重复判断表达式,当表达式的值为“假”时,执行下一语句。 使用while语句应注意: (1) while语句是先判断后执行循环体的,也就是初值不满足条件时,相当于空语句。 (2) 在while循环体中应有修改某些循环变量的值,使while后的表达式的值可以改变。 (3) 表达式后只能是一个语句,执行多个语句时应用{ }括起。 (4) while和if语句的区别主要在于while执行表达式后的语句0~n,而if语句执行表达式后的0~1。 (5) 选择条件要慎重 例:求100!(不考虑溢出) main() {int i,power=1; i=1; while(i=100) {power*=i; i++; } printf(\n%d,power); } 例:某人存款100万元(设存款月利率为0.25%),问每月取600元多少个月取完? main() {int n=0; float x=1e5; while(x0) {x=x*(1+0.0025)-600; n++; } printf(\n%d,n); } 例:求π的近似既约分数 #include math.h main() {int a,b; float pi=3.141593,e=1e-2; a=b=1; while(fabs((float)a/b-pi)e) if((float)a/b-pie) b++;else a++; printf(%d/%d=%f\n,a,b,pi); } 6.4 用do-while语句实现循环 当即使初值不满足要求也至少执行一次循环体的,往往要用直到型循环语句。 格式: do语句while (表达式) 意义: 先执行循环体(语句)后判断表达式的值为“真”(非零)时,重复执行循环体,直到表达式的值为“假”时,执行下一语句。 使用do-while语句应注意: (1) do-while语句是先执行循环体后判断的,也就是循环体至少执行一次。 (2) 在do-while循环体中也应有修改某些循环变量的值,使while后的表达式的值可以改变。 (3) do后只能是一个语句,执行多个语句时应用{ }括起。 (4) 选择条件也要慎重 例:求100!(不考虑溢出) main() {int i,power=1; i=1; do {power*=i; i++; } while(i=100); printf(\n%d,power); } 例:利用迭代法求a的平方根(迭代公式为: ) #include math.h main() {float a,x1,x0; scanf(%f,a); x1=a/2; do {x0=x1; x1=(x0+a/x0)/2; } while (fabs(x1-x0)1e-3); printf(sqrt(%f)=%f,a,x1); } 6.5 用for实现循环 C语言的循环比较灵活,可用于一些循环条件变比较有规律的情况,其循环的初值、判断和变化都放在循环的头一行。 格式: for(表达式1;表达式2;表达式3) 语句 意义: 将执行赋初值表达式1,然后判断表达式2的值是否为“真”,是执行循
文档评论(0)