C语言 第章_循环结构.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 循环结构 【例】问题1的解决方法1:采用while循环结构 main() { int count=1,total=0,grade; while(count=10) { printf(input the grade:); scanf(%d,grade); total=total+grade; count++; } printf(%d\n,total); } 注意:循环控制变量值在循环体内必须有所改变。 例如:请问下例中循环结束时i值为多少? i=1; while (i=100) putchar(‘*’); i++; 【例】问题1的解决方法2:采用do-while循环结构 【源程序】 main() { int count=1,total=0,grade; do { printf(input the grade:); scanf(%d,grade); total=total+grade; count++; }while(count=10); printf(%d\n,total); } 1.while结构与do-while循环结构相类似. 2.但要注意区别: 前者:先判断表达式,再执行语句。至少要执行0次 后者:先执行语句,再判断表达式。至少要执行1次。 3.也就是说用两种循环结构处理同一问题时,若二者的循环体部分是一样的,当while后面表达式的第一次的值为“真(非0)”时,两种循环结构得到的结果相同,否则二者的结果不相同。 main() { int count,total=0,grade; for(count=1;count=10;count++) { printf(input the grade:); scanf(%d,grade); total=total+grade; } printf(%d\n,total); } 5.6 第4-5章实例解析 【例】显示输入的字符, 如果按的是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( ); /*让程序停一下,拍任意键继续,可以不要*/ } 【例】P.66输入4个数,要求按大小顺序输出. main() { int a,b,c,d,t; printf(input a,b,c,d:\n); scanf(%d,%d,%d,%d,a,b,c,d); if(ab){t=a;a=b;b=t;} if(ac){t=a;a=c;c=t;} if(ad){t=a;a=d;d=t;} if(bc){t=b;b=c;c=t;} if(bd){t=b;b=d;d=t;} if(cd){t=c;c=d;d=t;} printf(The sorted result:%d,%d,%d,%d,a,b,c,d); } 【例】编程输入若干个学生的成绩(用负数结束输入),统计并输出最高分和最低分。 分析:该题对若干个学生的成绩的输入采用循环控制,然后在循环体内用条件判断语句比较成绩的高低即可。 【源程序】//用do…while改写,并用了break main() { int grade,max=-1,min=1000; //为何这样取初值? do { printf(input the next grade:); scanf(%d, grade); if (grade0) break; if (grademax) max=grade; if (grademin) min=grade; } while(1); printf(max=%d min=%d\n,max,min); } main() { int n; long t=1,sum=0;//注意累乘器及累加器的初值 for(n=1;n

您可能关注的文档

文档评论(0)

baa89089 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档