634-第6章 循环结构的程序设计.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 循环结构的程序设计 程序举例 1 分段函数如何处理小于-5和大于5的数 2 输入一个整数,求它的逆序. 3 输入5个学生分数,统计及格的人数 程序举例 4 输入若干学生分数,以负数作为输结束标志,统计及格人数 5 输入若干字符,以回车作为输入结束标志,统计其中数字字符,英文字符,其他字符个数. 6 判断一个数只否为水仙花数(水仙花数为3位数,各位数的立方之和等于该数本身,例如153=13+53+33) 程序举例 打印如下图案: 6.7 几种循环的比较 三种循环均可处理同一问题; for和while语句为先判断后执行,do-while语句则先执行后判断; do-while和while 语句多用于循环次数不定的情况,循环次数确定的用for语句更方便; do-while语句更适合第一次肯定执行的情况; do-while和while语句只有一个表达式,用于控制循环是否进行。for语句有三个表达式,不仅可以控制循环是否进行,而且能为循环变量赋初值及不断修改其值。故for语句功能更强,更灵活。 6.8.2 continue语句 一般形式:continue; 功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断 说明: 仅用于循环语句中 continue 语句仅结束本次循环,但break语句则是结束整个循环过程。 真(非0) do …… continue; …... 表达式 假(0) while 表达式2 …… continue; …... 假(0) 真(非0) for 表达式1 表达式3 表达式 …… continue; …… 假(0) 真(非0) while 例 求输入的十个整数中正整数的个数及其和与平均值 #include <stdio.h> main() { int i,num=0,a; float sum=0; for(i=0;i<10;i++) { scanf("%d",&a); if(a<=0) continue; num++; sum+=a; } printf("%d plus integer's sum :%6.0f\n",num,sum); printf("Mean value:%6.2f\n",sum/num); } t=1,pi=0,n=1.0,s=1 当|t|>=1e-6 pi=pi+t n=n+2 s=-s t=s/n pi=pi*4 输出pi 分子:1,-1, 1,-1… 分母:1, 3, 5, 7… 程序举例 /*c5_11.c*/ #include <stdio.h> #include <math.h> void main(void) { int s; float n,t,pi; t=1; pi=0; n=1.0; s=1; while((fabs(t))>=1e-6) { pi=pi+t; n=n+2; s=-s; t=s/n; } pi=pi*4; printf("pi=%10.6f\n",pi); } 例6.6 用 公式求π的近似值,直到最后一项的绝对值小于10-6为止 例6.7 求Fibonacci数列:1,1,2,3,5,8,……的前40个数。 F1=1 (n=1) F2=1 (n=2) Fn=Fn-1+Fn-2 (n≥3) 1 5 34 233 1597 10946 75025 514229 35245781 8 55 377 2584 17711 121393 832040 57028872 13 89 610 4181 28657 196418 1346269 92274653 21 144 987 6765 46368 317811 2178309102334155 /*c5_12.c*/ #include <stdio.h> void main(void) { long int f1,f2; int i; f1=1; f2=1; for(i=1;i<=20;i++) { printf("%12ld %12ld ",f1,f2); if(i%2==0) printf("\n"); f1=f1+

您可能关注的文档

文档评论(0)

小玉儿 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档