C语言程序设计课件(北理工李凤霞)第六章 循环结构的程序设计.ppt

上传人:e****s 文档编号:91019180 上传时间:2023-05-21 格式:PPT 页数:32 大小:774.50KB
返回 下载 相关 举报
C语言程序设计课件(北理工李凤霞)第六章 循环结构的程序设计.ppt_第1页
第1页 / 共32页
C语言程序设计课件(北理工李凤霞)第六章 循环结构的程序设计.ppt_第2页
第2页 / 共32页
点击查看更多>>
资源描述

《C语言程序设计课件(北理工李凤霞)第六章 循环结构的程序设计.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计课件(北理工李凤霞)第六章 循环结构的程序设计.ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、语句语句YN条件条件节目录节目录1面向过程程序设计的任务:面向过程程序设计的任务:上上上上章章章章 小小小小结结结结数据描述过程描述顺序访问第三章第三章第四、五章第四、五章 解决的问题:当过程中出现选择结构问题时,针对问题的类型,可有三种不同的条件判定方法来描述过程。2l 循环的基本概念循环的基本概念l 不同形式的循环控制不同形式的循环控制l 多重循环问题多重循环问题 本本本本章章章章 要要要要点点点点当问题中需要多次使用同一过程时,当问题中需要多次使用同一过程时,用循环的方法来描述过程。用循环的方法来描述过程。共 32 页 第 3 页返回主目录第节第节 第节第节 第节第节第节第节 第节第节循

2、环的基本概念循环的基本概念 当型当型循环控制循环控制直到型循环控制直到型循环控制循环的嵌套循环的嵌套循环应用循环应用共 32 页 第 4 页第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 5 页什么是循环?什么是循环?为什么要使用循环?为什么要使用循环?6-16-1 循环的基本概念循环的基本概念l循环是有规律的重复操作。循环是有规律的重复操作。将复杂问题将复杂问题分解分解为为简单的操作过程,程序只对简单过程描述,这些简单的操作过程,程序只对简单过程描述,这些过程的多次过程的多次重复重复就可完成对问题的求解。重复的就可完成对问题的求解。重复的频繁性决定了循环在程序设计

3、中必不可少!频繁性决定了循环在程序设计中必不可少!一、循环问题一、循环问题问题问题1 1:问题问题2 2:求学生平均成绩求学生平均成绩 分数相加后除以课数分数相加后除以课数做做9999次加法次加法问题问题3 3:找出数找出数x x中能同时被中能同时被3 3和和7 7整除的数整除的数 找数找数问题分解问题分解循环控制循环控制下页下页节节末页末页结束结束第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 6 页6-16-1 循环的基本概念循环的基本概念l if-goto 循环循环l while循环循环l for循环循环l do while循环循环 先判断后循环先判断后循环

4、(当型循环)(当型循环)先循环后判断先循环后判断(直到型循环)(直到型循环)特点:特点:难点:难点:C提供四种循环控制:提供四种循环控制:首页首页 上页上页 下页下页节节末页末页结束结束第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 7 页6-16-1 循环的基本概念(续)循环的基本概念(续)二、循环结构二、循环结构循环结构有两种形式:循环结构有两种形式:l当型循环结构当型循环结构l直到型循环结构直到型循环结构循环体循环体N条件条件Y当型循环当型循环直到型循环直到型循环条件条件NY循环体循环体先判断后循环先判断后循环先循环后判断先循环后判断入口入口出口出口循环体中是

5、一个过程,该过程的复杂程度取决于问题及对问题的分解首页首页 上页上页 下页下页节节末页末页结束结束第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 8 页6-16-1 循环的基本概念(续)循环的基本概念(续)三、循环的执行过程三、循环的执行过程循环体循环体N条件条件Yl当型循环当型循环条件条件 循环循环 次数次数Y循环体循环体?Y Y 执行执行 1Y Y 执行执行 3Y Y 执行执行 2N N 结束结束 循环体循环体Y?循环体循环体Y?N3次在循环入口处判断在循环入口处判断当条件为真时执行循环当条件为真时执行循环首页首页 上页上页 下页下页节节末页末页结束结束第五章第

6、五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 9 页6-16-1 循环的基本概念(完)循环的基本概念(完)l直到型循环直到型循环在循环出口处判断,当条在循环出口处判断,当条件为真时继续执行循环,件为真时继续执行循环,直到条件为假时为止。直到条件为假时为止。条件条件NY循环体循环体条件条件 循环循环 次数次数执行执行 1Y 执行执行 3Y 执行执行 2N N 结束结束 3次Y条件条件循环体循环体Y条件条件循环体循环体Y条件条件循环体循环体Y 执行执行 4条件条件循环体循环体N4 4次首页首页 上页上页 下页下页节节末页末页结束结束第五章第五章 循环循环科技学院应用数学系科技

7、学院应用数学系共 32 页 第 10 页6-26-2 当型循环控制语句当型循环控制语句一、结构与语句一、结构与语句循环体循环体N条件条件Y形式1 1:标号:标号:if(条件条件)语句组语句组 goto 标号标号形式2 2:while(条件条件)语句组语句组形式3 3:for(初值初值;条件条件;增量增量)语句组语句组循环入口语句循环入口语句 循环终端语句循环终端语句当型循环当型循环首页首页 上页上页 下页下页节节末页末页结束结束goto 标号第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 11 页6-26-2 当型循环控制语句(续)当型循环控制语句(续)首页首页 上

8、页上页 下页下页节节末页末页结束结束例例C5-1C5-1C5-1C5-1求:求:s=s+ns=s+nn+n+分析分析问题被简化为做加法:问题被简化为做加法:最基本的执行语句就是循环最基本的执行语句就是循环体内的语句。其次要考虑在体内的语句。其次要考虑在进入循环之前和结束循环之进入循环之前和结束循环之后计算机应该完成的操作。后计算机应该完成的操作。用流程图描用流程图描述整个过程述整个过程二、三种语句的应用二、三种语句的应用第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 12 页6-26-2 当型循环控制语句(续)当型循环控制语句(续)/*C5-1.C*/main()i

9、nt n=1,S=0,x;scanf(%d,&x);loop:if(n=x)s=s+n;n+;goto loop;printf(s=%dn,s);开始开始初始化初始化n,s,xn,s,x输入输入x xn=xn=xs=s+ns=s+nYn加加1首页首页 上页上页 下页下页节节末页末页结束结束N输出输出s结束结束10s=55100s=5050255s=32640while(n=x)while(n=x)for(;n=x;)for(;n=x;)if-gotoWhile(n=x)While(n=x)for(;n=x;)循环结束循环结束第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页

10、 第 13 页6-26-2 当型循环控制语句(续)当型循环控制语句(续)首页首页 上页上页 下页下页节节末页末页结束结束 三、三、forfor语句执行过程语句执行过程 计算计算e1e1初值初值;计算计算e2e2并判断,并判断,0 0则跳出循环,非则跳出循环,非0 0执行循环;执行循环;当当e2e2非非0 0,执行循环到终端语句,计算,执行循环到终端语句,计算e3e3增量增量;自动转到第二步继续执行。自动转到第二步继续执行。ForFor语句格式:语句格式:for(for(初值初值e1;e1;条件条件e2;e2;增量增量e3)e3)语句组语句组 第五章第五章 循环循环科技学院应用数学系科技学院应用

11、数学系共 32 页 第 14 页6-26-2 当型循环控制语句(续)当型循环控制语句(续)首页首页 上页上页 下页下页节节末页末页结束结束 1.1.e1e1、e2e2、e3e3均可缺省均可缺省for(;n100;n+)缺省缺省e1,n应在循环之前赋初值应在循环之前赋初值 for(n=0;n+)缺省缺省e2,造成死循环,造成死循环,不可使用!不可使用!for(n=0;n100;)缺省缺省e3,n增量应在循环体内进行增量应在循环体内进行for(;)缺省缺省e1,e2,e3 死循环!死循环!for(;n100;)缺省缺省e1,e3分号始终不能缺省!分号始终不能缺省!讨论讨论不可用不可用 第五章第五章

12、 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 15 页6-26-2 当型循环控制语句(续)当型循环控制语句(续)首页首页 上页上页 下页下页节节末页末页结束结束for(初值初值;判断判断;增量增量)语句;语句;for(初值初值;判断判断;增量增量)复合语句复合语句;for(初值初值;判断判断;增量增量);2.2.e1e1和和e3e3可是与初值、增量无关的逗号表达式可是与初值、增量无关的逗号表达式for(s=0,n=1;n=100;s=s+n,printf(“%d”,s)n+;for(s=0;n100;s=s+n,n+)printf(“%d”,s);求累加和求累加和n的初值在的

13、初值在for之前之前完成完成增量在增量在for之外完成之外完成ForFor语句的形式:语句的形式:第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 16 页6-26-2 当型循环控制语句(续)当型循环控制语句(续)首页首页 上页上页 下页下页节节末页末页结束结束/*C5-2.C*/main()int n=1,s=0,x;scanf(%d,&x);for(;n=x;n+)s=s+n;printf(s=%dn,s);while(n=x)s=s+n;n+;/*C5-2-1.C*/main()int n,s,x;scanf(%d,&x);for(n=1,s=0;n=x;n+)

14、s=s+n;printf(s=%dn,s);例例C5-2C5-2缺省缺省e1赋初值赋初值语句语句 第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 17 页6-26-2 当型循环控制语句(完)当型循环控制语句(完)首页首页 上页上页 下页下页节节末页末页结束结束/*C5-4.C*/main()int n,s;for(n=1;n=10;n+=2)printf(n=%dn,n);/*C5-3.C*/main()int n,s;for(n=1;n=10;n+=2);printf(n=%dn,n);以下以下程序的输出结果程序的输出结果输出结果:输出结果:n=11输出结果:输出

15、结果:n=1n=3n=5n=7n=9无循环体无循环体 循环体循环体;特点:先判断后循环特点:先判断后循环第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 18 页6-36-3 直到型循环控制语句直到型循环控制语句首页首页 上页上页 下页下页节节末页末页结束结束一、结构与语句一、结构与语句形式1 1:if(条件条件)goto 标号标号 形式2 2:do do 语句语句 while(条件条件);循环出口语句循环出口语句直到型循环直到型循环条件条件NY循环体循环体例例C5-5C5-5C5-5C5-5求:求:流程图流程图第五章第五章 循环循环科技学院应用数学系科技学院应用数学

16、系共 32 页 第 19 页n=xn=xs=s+ns=s+nYn加加16-3 6-3 直到型循环控制语句(续)直到型循环控制语句(续)/*C5-5.C*/main()int n=1,S=0,x;scanf(%d,&x);loop:s=s+n;n+;if(n=x)goto loop;printf(s=%dn,s);开始开始初始化初始化n,s,xn,s,x输入输入x x首页首页 上页上页 下页下页节节末页末页结束结束 do do s=s+n;s=s+n;n+;n+;while(n=x);while(n=x);if-gotodo whiledo whileN输出输出s结束结束二、两种语句的应用二、两

17、种语句的应用第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 20 页/*C5-6-1.C*/main()int s=0,x;scanf(%d,&x);while(x=10)s=s+x;x+;printf(s=%dn,s);/*C5-6.C*/main()int s=0,x;scanf(%d,&x);do s=s+x;x+;while(x=10);printf(s=%dn,s);6-3 6-3 直到型循环控制语句(完)直到型循环控制语句(完)首页首页 上页上页 下页下页节节末页末页结束结束输入:输入:12输出:输出:s=12例例C5-6C5-6循环至少循环至少执行一次

18、执行一次循环没有循环没有被执行被执行输入:输入:12输出:输出:s=0三、三、whilwwhilw与与do whiledo while的比较的比较第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 21 页6-46-4 循环的嵌套循环的嵌套首页首页 上页上页 下页下页节节末页末页结束结束 一、循环嵌套的概念一、循环嵌套的概念 1 2 3 4 5 6 7 8 91 2 3 4 5 6 7 8 9-1 12 42 43 6 93 6 94 8 12 164 8 12 165 10 15 20 255 10 15 20 256 12 18 24 30 366 12 18 24

19、 30 367 14 21 28 35 42 497 14 21 28 35 42 498 16 24 32 40 48 56 648 16 24 32 40 48 56 649 18 27 36 45 54 63 72 819 18 27 36 45 54 63 72 81在循环体中,又包含在循环体中,又包含有循环结构。可以构有循环结构。可以构成循环嵌套。成循环嵌套。行循环中行循环中包含了列包含了列循环。循环。第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 22 页6-46-4 循环的嵌套(续)循环的嵌套(续)首页首页 上页上页 下页下页节节末页末页结束结束 二、

20、嵌套结构规则二、嵌套结构规则 外循环外循环内循环内循环交叉循环交叉循环 三、三、breakbreak语句与语句与continuecontinue语句语句 外循环外循环入口入口内循环出口内循环出口内循环出口内循环出口外循环出口外循环出口第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 23 页6-46-4 循环的嵌套(续)循环的嵌套(续)首页首页 上页上页 下页下页节节末页末页结束结束lbreak语句格式语句格式break;lbreakbreak语句的功能语句的功能switchswitch语语句句中中结结束束casecase子子句句,使使控控制制转转到到switchsw

21、itch语句之外。语句之外。2.2.在在循循环环语语句句的的循循环环体体中中使使用用,结结束束循循环环过过程程,使使控控制制转转移移到到整整个个循循环环语语句句之之外外的的下下一一条语句处。条语句处。第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 24 页6-46-4 循环的嵌套(续)循环的嵌套(续)首页首页 上页上页 下页下页节节末页末页结束结束lcontinue语句格式:语句格式:continue;lcontinuecontinue语句的功能:语句的功能:continuecontinue语句仅能在循环语句中使用。语句仅能在循环语句中使用。它的作用不是结束循环,而

22、是开始一次新的它的作用不是结束循环,而是开始一次新的循环。循环。对对于于forfor语语句句,将将控控制制转转到到执执行行增增量量和和条条件件测测试部分。试部分。对对于于whilewhile和和do-whiledo-while语语句句,将将控控制制转转到到条条件件测试部分。测试部分。第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 25 页6-46-4 循环的嵌套(续)循环的嵌套(续)首页首页 上页上页 下页下页节节末页末页结束结束例例C5-7C5-7l打印边长为打印边长为m m的正方型的正方型要求:要求:要求:要求:从键盘输入从键盘输入m m值,输出值,输出m m行

23、每行行每行m m个个*号。号。例:例:例:例:输入输入m=4m=4,输出的图形如下:输出的图形如下:l算法分析与设计:算法分析与设计:1.输入输入m,2.重复重复打印打印m行,每行打印行,每行打印m个个*;*1.输入输入m;2.for(k=1;k=m;k+)打印一行中的打印一行中的 m 个个 *;行控制行控制第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 26 页6-46-4 循环的嵌套(续)循环的嵌套(续)首页首页 上页上页 下页下页节节末页末页结束结束例例C5-7C5-7l l细化:细化:1.输入输入m;2.for(k=1;k=m;k+)打印打印 m 个个 *;

24、换新行换新行;l l细化:细化:1.输入m;2.for(k=1;k=m;k+)for(j=1;j=m;j+)printf(“*”);printf(“n”);行控制行控制列控制列控制第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 27 页6-46-4 循环的嵌套(续)循环的嵌套(续)首页首页 上页上页 下页下页节节末页末页结束结束例例C5-7C5-7#include main()int k,m,j;scanf(“%d”,&m);for(k=1;k=m;k+)/*控制打印控制打印m行行*/for(j=1;j=m;j+)/*打印一行中的打印一行中的m个个*号号*/prin

25、tf(“*”);printf(“n”);l整理,得到程序如下:整理,得到程序如下:第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 28 页6-46-4 循环的嵌套(完)循环的嵌套(完)首页首页 上页上页 下页下页节节末页末页结束结束l分析方法分析方法逐步求精法。对于复杂问题,不逐步求精法。对于复杂问题,不可能一下得到程序,可以先将简可能一下得到程序,可以先将简单的部分明确出来,再逐步对复单的部分明确出来,再逐步对复杂部分进行细化,一步一步推出杂部分进行细化,一步一步推出程序。程序。第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 29 页6

26、-56-5 循环应用循环应用例题例题C5-8求求14141313数的最后三位数。数的最后三位数。1.问题分析问题分析将将1414累乘累乘1313次后截取最后三位数?次后截取最后三位数?因为因为1414的的1313次次方已经超出了方已经超出了计算机所能表计算机所能表示的整数范围示的整数范围乘法规律:乘积的最后乘法规律:乘积的最后三位的值只与乘数和被三位的值只与乘数和被乘数的后三位有关乘数的后三位有关C C语言中最长的整数是:语言中最长的整数是:无符号长整型数:无符号长整型数:0-42949672950-42949672951010位位14141010=289254654976=289254654

27、9761212位位首页首页 上页上页 下页下页节节末页末页结束结束第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 30 页6-5 6-5 循环应用(续)循环应用(续)2.解题方法解题方法 设计求设计求x xy y末尾三位数的通用程末尾三位数的通用程序。设一累乘器序。设一累乘器A A,使,使A A与与X X相乘后取相乘后取末尾三位数,即:末尾三位数,即:a=a*x%1000a=a*x%1000,如如此循环此循环y y次。次。问题被简化为求问题被简化为求三位数乘法。三位数乘法。3.程序流程图程序流程图首页首页 上页上页 下页下页节节末页末页结束结束第五章第五章 循环循环

28、科技学院应用数学系科技学院应用数学系共 32 页 第 31 页6-5 6-5 循环应用(续)循环应用(续)开始开始初始化初始化i,x,y,a输入输入x,yN输出结果输出结果结束结束main()main()int i=1,x,y,a=1;int i=1,x,y,a=1;printf(Input X and Y:);printf(Input X and Y:);scanf(%d*%d,&x,&y);scanf(%d*%d,&x,&y);while(i=y)while(i=y)a=a*x%1000;a=a*x%1000;i+;i+;printf(3 digits is:);printf(3 digi

29、ts is:);printf(%dn,a%1000);printf(%dn,a%1000);Input X and Y:14*13Input X and Y:14*133 digits is:1443 digits is:144Input X and Y:15*12Input X and Y:15*123 digits is:6253 digits is:625i=ya=a*x%1000Yi加加1首页首页 上页上页 下页下页节节末页末页结束结束第五章第五章 循环循环科技学院应用数学系科技学院应用数学系共 32 页 第 32 页6-5 6-5 循环应用(完)循环应用(完)首页首页 上页上页 下页

30、下页节节末页末页结束结束#include include main()main()int i=1,j;int i=1,j;/*i:/*i:行计数器行计数器 j:j:列计数器列计数器*/*/while(i=9)while(i=9)/*/*控制打印表头控制打印表头*/*/printf(%4d,i+);printf(%4d,i+);printf(n-n);printf(n-n);for(i=1;i=9;i+)for(i=1;i=9;i+)/*/*行循环入口行循环入口*/*/j=1;j=1;/*/*列计数器置列计数器置1*/1*/while(j=i)while(j=i)/*/*嵌套的内循环。输出第嵌套的内循环。输出第i i行行*/*/printf(printf(“%4d%4d”,i*j);,i*j);/*/*输出乘积输出乘积*/*/j+;j+;/*/*列计数器列计数器+1*/+1*/printf(n);printf(n);/*/*一行输出结束后,输出一行输出结束后,输出 n*/n*/例题例题C5-9打印乘法九九表打印乘法九九表内循环终内循环终值与外循值与外循环变量有环变量有关关

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁