C语言程序设计教程 第05节.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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语句 while语句执行流程 while语句举例 问题: 求n个学生的平均成绩 算法: 1 输入 n ; i = 1 , average=0; 2 输入第 i 个学生的score; 3 average += score; i ++; 4 当 i<= n 重复做2; 5 average /= n ; 5.2 do—while语句 do—while语句执行流程 注意:循环控制变量值在循环体内必须有所改变。 例如: i=1; while (i<=100) putchar(‘*’); i++; for语句的表达式可以省略 逗号表达式 for(i=a,j=b; i<=j; i++,j--) 举例 问题: 求 1/100+2/99+…+1 float s=0.0; for(i=1,j=100; i<=j; i++,j--) s = s + i/j; 5.4 break、continue、goto语句 这一类语句的功能是改变程序的结构,使程序从其所在的位置转向另一处。 这类语句是非结构化语句 非结构化语句之break 它的作用是把流程转向所在结构之后。 在switch分支结构中,使用break语句可以使流程跳出switch分支结构。 同样的,在循环结构中,使用break语句使流程跳出当前的循环层,转向执行该循环结构后面的语句。 非结构化语句之continue 例5.4 显示输入的字符, 如果按的是Esc键, 则退出循环; 如果按的是Enter键, 则不做任何处理,继续输入下一个字符。 #include “conio.h” main( ) {char ch; for (; ;) {ch=getch(); /*字符输入函数 */ if (ch==27) /* Esc键的ACSII码为27*/ break; /*退出循环*/ if (ch==13) continue; /*按的是Enter:键,跳过字符输出语句*/ putch(ch); /*显示输入的字符*/ } getch( ); /*让程序停一下,拍任意键继续*/ } 非结构化语句之goto #include “stdio.h” main( ) { float score , average=0; int n=0; scanf(“%f”, &score); /* 输入第一个学生的分数 */ if (score<0) goto end; /* 表达式为非0, 转移到end标号处 */ loop:average += score; n++; scanf(“%f”, &score); if (score>=0) /* 表达式为非0, 转移到loop标号处 */ goto loop; average = average /n ; /*求平均成绩average */ end:printf(“%6.2f”, average); /*输出平均成绩,保留两位小数 */ } 循环嵌套举例 问题:输出图形 * ** *** **** ***** ****** 分析: 一共6行, 每行的 ‘*’数目与行号相同 算法: 行用 i 表示 , 当 i <= 6 do { 输出 i 个 ‘*’ 换行 } 循环嵌套举例 问题:输出图形 * *** ***** ******* 循环嵌套 分析: 一共4行, 第i行输出的空格数为: (7-i+1)/2 第i行输出 i*2-1个‘*’, 算法: 当 i <= 7 do

文档评论(0)

189****6140 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档