- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 循环结构程序设计 5.1 while语句 5.2 do-while语句 5.3 for 语句 5.4 break、continue和goto语句 5.5 循环的嵌套 5.6 复合结构程序举例 C语言有while 、 do - while 、和for语句三种循环结构语句。 前两个称为条件循环,即根据条件来决定是否继续循环; 后一个称为计数循环,即根据设定的执行次数来执行循环。 5.1 while语句 【例】编写程序,求100个自然数的和 即: s=1+2+3+ … +100 注意: 如果while的 (表达式) 值为0,则循环体一次也不执行 (例如当i的初值=101) 。 在循环体中必须有使循环趋向结束的操作,否则循环将无限进行(死循环)。 在循环体中,语句的先后位置必须符合逻辑,否则会影响运算结果。 注意(续): 为了保证循环正常运行,应该特别注意: 循环控制条件的描述 控制条件的初始状态(初始值) 循环体内部对控制条件的影响 想想这样的一段循环语句的执行结果: i=1; while (i=100) putchar(‘*’); i++; while语句举例 问题: 求学生的平均成绩,以输入负数成绩为结束 5.2 do—while语句 例:求n! ,即计算p=1×2×3×…×n的值。 main( ) { int i, n; long p; p=1; printf(Enter n:); scanf(%d,n); for (i=1; i=n; i++) p = p * i; printf(p = %ld \n,p); } 【例】判断输入的某个数m是否为素数。若是素数,输出“YES”,若不是,输出“NO”。 #include math.h main( ) { int j,m,k; printf(Enter an integer number: ); scanf(%d,m); for (j=2; j=m-1; j++) if (m%j==0) break; printf(%d ,m); if (j=m) printf(YES\n); else printf(NO\n); } 程序的优化 对于穷举法来说,为了提高程序的效率,就要减少尝试次数。 5.4 break、continue、goto语句 此类语句的功能是使程序从其所在的位置转向另一处。 goto语句使程序的结构性和可读性都变差,要求尽量避免使用,此处不做介绍。 5.4.1 break语句 它的作用是把流程转向所在结构之后。 在switch分支结构中,使用break语句可以使流程跳出switch分支结构。 同样的,在循环结构中,使用break语句使流程跳出当前的循环层,转向执行该循环结构后面的语句。 5.4.2 continue语句 #include math.h main( ) { int j,m,k; printf(Enter an integer number: ); scanf(%d,m); k=sqrt(m); for (j=2; j=k; j++) if (m%j==0) break; printf(%d ,m); if (j=k+1) printf(YES\n); else printf(NO\n); } 思考:如何输出100~200中所有的素数 ? 一般形式: break; main( ){ int s=0,i=1: for (; ;) { if (i99) break; s = s+i; i++; } printf(“s=%d”,s);} 例:前面讲到的计算1+2+…+99的程序,可以同时省略for循环的三个表达式,改写成如下形式: 本程序中,当i99时,利用break语句强行终止for循环,继续执行for语句后的下一条语句。 该语句被称为继续语句。在循环结构中执行continue语句,使本次循环提前结束,即跳过循环体中continrue语句下面的尚未执行的循环体语句,但不结束整个循环,继续进行下一次循环的条件判别,条件为真,继续进行执行循环语句。 一般形式: continue; 例:下面这个程序,想想它实现的是什么功能? #includestdio.h main( ) { int i,
文档评论(0)