第 循环结构程序设计学习教案

上传人:辰*** 文档编号:73234990 上传时间:2022-04-11 格式:PPTX 页数:81 大小:439.66KB
返回 下载 相关 举报
第 循环结构程序设计学习教案_第1页
第1页 / 共81页
第 循环结构程序设计学习教案_第2页
第2页 / 共81页
第 循环结构程序设计学习教案_第3页
第3页 / 共81页
点击查看更多>>
资源描述
会计学1第第 循环结构循环结构(jigu)程序设计程序设计第一页,共81页。2008-9-262第1页/共81页第二页,共81页。第2页/共81页第三页,共81页。2008-9-264第3页/共81页第四页,共81页。2008-9-265第4页/共81页第五页,共81页。2008-9-266执行(zhxng)表达式1计算(j sun)表达式2并判断循 环 体 执行表达式3=0非非0第5页/共81页第六页,共81页。2008-9-267main() int s,i; s=0; for(i=1;i=100;i+) s=s+i; printf(sum=%d,s); 循环体!循环体!结果结果(ji gu):sum=5050第6页/共81页第七页,共81页。2008-9-2681、for语句中的表达式语句中的表达式1可以省略可以省略,但在但在for循环之前循环之前 应给循环应给循环变量赋值变量赋值. 例如例如:i=1;for(;i=100;i+) sum=sum+i;2、表达式、表达式2也可以省略也可以省略,但循环将陷入但循环将陷入(xinr)死循环死循环. 例如例如:for(i=1;i+) sum=sum+i;3、表达式、表达式3也可以省略也可以省略,但应在循环体中增加使循环变量值改但应在循环体中增加使循环变量值改变的语句变的语句. 例如例如:for(sum=0,i=0;i=100;) sum=sum+i; i+;第7页/共81页第八页,共81页。2008-9-269第8页/共81页第九页,共81页。2008-9-26106、表达式、表达式1中的表达式可以是循环变量的赋初值的表达式中的表达式可以是循环变量的赋初值的表达式,也可是与赋初也可是与赋初值根本无关的其他表达式值根本无关的其他表达式,或者两者兼而有之或者两者兼而有之.例如例如:for(sum=0,i=1;i=100;i+) sum=sum+i; 表达式表达式3也可以出现也可以出现(chxin)同样的情况同样的情况,例如例如: for(sum=0,i=1;i=100;sum=sum+i,i+);第9页/共81页第十页,共81页。2008-9-2611第10页/共81页第十一页,共81页。2008-9-2612第11页/共81页第十二页,共81页。2008-9-2613第12页/共81页第十三页,共81页。2008-9-2614第13页/共81页第十四页,共81页。2008-9-2615第14页/共81页第十五页,共81页。2008-9-2616第15页/共81页第十六页,共81页。2008-9-2617方法方法(fngf)1(fngf)1:极值:极值法法第16页/共81页第十七页,共81页。2008-9-2618第17页/共81页第十八页,共81页。2008-9-2619 #include void main(void ) int i,n; long fact=1; printf(please input n:); scanf(%d,&n); for(i=1;i=n;i+) fact*=i; printf(%d!=%ld,n,fact);例例: :求求n!n!第18页/共81页第十九页,共81页。2008-9-2620forfor语句例语句例2 2: 求一个等差数列前求一个等差数列前n n项的和:项的和: ai+1-ai=d ai+1-ai=d (i=1,2,3(i=1,2,3)分析:分析:1 1 输入输入n n、d d和等差数列的第一个数和等差数列的第一个数a a的取值。的取值。 2 sum 2 sum 、i i的初值置的初值置0 0 3 a+sum 3 a+sumsumsum 4 4 计算数列中下一个数的取值计算数列中下一个数的取值 a+da+da a 5 i+1 5 i+1i i 6 6 重复重复(chngf)3(chngf)3、4 4、5 5步直到步直到i i大大于于n n 7 7 输出结果输出结果n n第19页/共81页第二十页,共81页。2008-9-2621第20页/共81页第二十一页,共81页。2008-9-2622第21页/共81页第二十二页,共81页。2008-9-2623201!nn第22页/共81页第二十三页,共81页。2008-9-2624第23页/共81页第二十四页,共81页。2008-9-2625第24页/共81页第二十五页,共81页。2008-9-2626 计算(j sun)表达式并判断循 环 体=0非非0第25页/共81页第二十六页,共81页。2008-9-2627 100例如例如(lr):求求 n n=1注意注意(zh y)“边边界值界值”的选择的选择!应有使循环趋于结束的应有使循环趋于结束的语句!语句!结果结果:Sum=5050第26页/共81页第二十七页,共81页。2008-9-2628第27页/共81页第二十八页,共81页。2008-9-2629练习练习(linx):能:能被被3整除的整除的3位偶位偶数共有多少个?数共有多少个?第28页/共81页第二十九页,共81页。2008-9-2630第29页/共81页第三十页,共81页。2008-9-2631第30页/共81页第三十一页,共81页。2008-9-2632WhileWhile语句语句-使用要点使用要点(yodin)(yodin)(当型循环)(当型循环)第31页/共81页第三十二页,共81页。2008-9-26332.当判终表达式为非零常量时,这样的当判终表达式为非零常量时,这样的while语句语句(yj)为无穷循环语句为无穷循环语句(yj),如:,如: while(1) 语句语句(yj); / 无穷循环语句无穷循环语句(yj)3. while语句语句(yj)的循环体通常是一个复合语句的循环体通常是一个复合语句(yj),也可以是简单,也可以是简单语句语句(yj),甚至可以是一个空语句,甚至可以是一个空语句(yj)。4.在循环体中应有使循环趋于结束的语句在循环体中应有使循环趋于结束的语句(yj),以避免,以避免“死循环死循环”。 WhileWhile语句语句(yj)-(yj)-使用要使用要点点第32页/共81页第三十三页,共81页。2008-9-2634第33页/共81页第三十四页,共81页。2008-9-2635第34页/共81页第三十五页,共81页。2008-9-2636 计算(j sun)表达式并判断循 环 体=0非非0第35页/共81页第三十六页,共81页。2008-9-2637 100例如例如(lr):求求 n n=1无论表达式的值是多少无论表达式的值是多少(dusho),循环体至,循环体至少执行一次!少执行一次!结果结果:Sum=5050第36页/共81页第三十七页,共81页。2008-9-2638 用牛顿迭代法求方程用牛顿迭代法求方程(fngchng)f(x)= (fngchng)f(x)= -6x-1=0-6x-1=0在在2.52.5附近的一个实根附近的一个实根. .直到满足直到满足: : 所以(suy)Y=f(x)f(x1)(2xfxy1x2x3xO3x|1nnxx牛顿牛顿(ni dn)迭代公迭代公式为式为:)()(1nnnnxfxfxx 在几何意义上在几何意义上:)()(1112xfxfxx2111)()(xxxfxfdo-whiledo-while语句范例语句范例:第37页/共81页第三十八页,共81页。2008-9-263916)(3xxxf求出:求出:63)(2xxf算法:算法:1、输入、输入x的初值的初值 2、做循环:、做循环: x0=x 按牛顿迭代公式计算按牛顿迭代公式计算x 直到满足直到满足(mnz): 3、输出结果、输出结果|0 xx第38页/共81页第三十九页,共81页。2008-9-2640第39页/共81页第四十页,共81页。2008-9-2641练习:个位数练习:个位数是奇数,且能是奇数,且能被被7整除的整除的4位数共有位数共有(n yu)多少个?多少个?第40页/共81页第四十一页,共81页。2008-9-2642第41页/共81页第四十二页,共81页。2008-9-2643do-whiledo-while语句语句(yj)-(yj)-使使用要点用要点第42页/共81页第四十三页,共81页。2008-9-2644第43页/共81页第四十四页,共81页。2008-9-2645s=0;for(i=1;i=100;i+) if(!(i%5) continue; s+=i;printf(SUM=%dn,s);第44页/共81页第四十五页,共81页。2008-9-2646第45页/共81页第四十六页,共81页。2008-9-2647.第46页/共81页第四十七页,共81页。2008-9-2648例例 如如 此循环本是无限循环,因加上了break语句,使程序(chngx)在输入字符常量!时就终止循环。for(;) scanf(%c,&ch); if(ch=!) break; else printf(%c,ch);第47页/共81页第四十八页,共81页。2008-9-2649例例:计算计算r=1到到r=10的圆的圆面积面积(min j),当面积当面积(min j)大于大于100时结束时结束循环循环.第48页/共81页第四十九页,共81页。2008-9-2650第49页/共81页第五十页,共81页。2008-9-2651第50页/共81页第五十一页,共81页。2008-9-2652第51页/共81页第五十二页,共81页。2008-9-2653第52页/共81页第五十三页,共81页。2008-9-2654第53页/共81页第五十四页,共81页。2008-9-2655第54页/共81页第五十五页,共81页。2008-9-2656结果结果(ji gu):hen=5 cock=32 chicken=63goto语句语句(yj)第55页/共81页第五十六页,共81页。2008-9-2657第56页/共81页第五十七页,共81页。2008-9-2658121234567891011多重循环多重循环(xnhun)的的等效等效第57页/共81页第五十八页,共81页。2008-9-2659例例 输出输出(shch)图形图形 * * *第58页/共81页第五十九页,共81页。2008-9-2660#include void main() int i,j;/*定义两个下标定义两个下标(xi bio)变量变量i和和j*/ for(i=1;i=9;i+) for(j=1;j=9;j+) printf(%4d,i*j); printf(n); 第59页/共81页第六十页,共81页。2008-9-2661 1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81第60页/共81页第六十一页,共81页。2008-9-2662#include stdio.hvoid main()int i,j;for(i=1;i10;i+) for(j=1;j10;j+) printf(%d*%d=%-4d,i,j,i*j); printf(n);第61页/共81页第六十二页,共81页。2008-9-26631*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=92*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=183*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=274*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=365*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=456*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=547*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=638*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=729*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81第62页/共81页第六十三页,共81页。2008-9-2664#include void main(void) int i,j; for(i=1;i=9;i+) for(j=1;j=i;j+)printf(“%d*%d=%-4d”,i,j,i*j); printf(“n”); 第63页/共81页第六十四页,共81页。2008-9-26651*1=12*1=2 2*2=43*1=3 3*2=6 3*3=94*1=4 4*2=8 4*3=12 4*4=165*1=5 5*2=10 5*3=15 5*4=20 5*5=256*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=367*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=498*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=649*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81第64页/共81页第六十五页,共81页。2008-9-2666 #include “stdio.h” main() int i; char ch; for(i=0;i5;i+) for(ch=A+i;chA+5;ch+) printf(“%c”,ch); printf(“n”); 第65页/共81页第六十六页,共81页。2008-9-2667结果结果(ji gu):hen=5 cock=32 chicken=63 外循环(xnhun)内循环 例例 百元买百鸡百元买百鸡,母鸡母鸡3元元/只只,公鸡公鸡2元元/只只,小鸡小鸡3只只/元元. 第66页/共81页第六十七页,共81页。2008-9-2668第67页/共81页第六十八页,共81页。2008-9-2669#include “math.h”main() int n,m,i,j,l=0; scanf(“%d”,&m); for (n=2;n=m;n+) i=sqrt(n); for (j=2;j=i;j+) if(!(n%j) break;第68页/共81页第六十九页,共81页。2008-9-2670第69页/共81页第七十页,共81页。2008-9-2671第70页/共81页第七十一页,共81页。2008-9-2672应用例应用例2:假定小兔子一个月就可以长成大兔子,而大兔子每假定小兔子一个月就可以长成大兔子,而大兔子每个月都会生出一对小兔子。如果年初养了一对小兔子,问到个月都会生出一对小兔子。如果年初养了一对小兔子,问到年底时将有多少对兔子年底时将有多少对兔子? (当然得假设兔子没有死亡而且严当然得假设兔子没有死亡而且严格按照上述格按照上述(shngsh)规律长大与繁殖规律长大与繁殖) 第71页/共81页第七十二页,共81页。2008-9-2673兔子问题兔子问题(wnt)(wnt)分析表分析表1月月2月月3月月4月月 5月月 6月月 7月月 8月月 9月月10月月11月月12月月小小兔兔111235813213455大大兔兔1123581321345589合合计计1123581321345589144 第72页/共81页第七十三页,共81页。2008-9-2674第73页/共81页第七十四页,共81页。2008-9-2675第74页/共81页第七十五页,共81页。2008-9-2676按每月增长,兔子总对数(du sh)组成的数列为: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 21783093524578 5702887 9227465 1493035224157817 3908816963245986 102334155第75页/共81页第七十六页,共81页。2008-9-2677课堂练习:课堂练习:1 、有一堆零件(、有一堆零件(100200之间),如果分成之间),如果分成4个零件一组个零件一组的若干组,则多两个零件;若分成的若干组,则多两个零件;若分成7个零件一组,则多个零件一组,则多3个零件;若分成个零件;若分成9个零件一组,则多个零件一组,则多5个零件。请编程求个零件。请编程求这堆零件的总数。这堆零件的总数。2、编程统计用数字、编程统计用数字09可以组成多少个没有可以组成多少个没有(mi yu)重重复数字的复数字的3位偶数。位偶数。第76页/共81页第七十七页,共81页。2008-9-2678第77页/共81页第七十八页,共81页。2008-9-2679反弹多高?反弹多高?第78页/共81页第七十九页,共81页。2008-9-2680第79页/共81页第八十页,共81页。2008-9-2681第80页/共81页第八十一页,共81页。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!