C语言程序设计循环结构程序设计课件.pptx
《C语言程序设计循环结构程序设计课件.pptx》由会员分享,可在线阅读,更多相关《C语言程序设计循环结构程序设计课件.pptx(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023/5/291l 循环的基本概念循环的基本概念l 不同形式的循环控制不同形式的循环控制l 多重循环问题多重循环问题2023/5/292什么是循环?什么是循环?为什么要使用循环?为什么要使用循环?5.1 5.1 循循环的基本概念的基本概念l循环是有规律的重复操作。循环是有规律的重复操作。将复杂问题将复杂问题分解分解为简单的操作过程,程序只对简单过程描述,为简单的操作过程,程序只对简单过程描述,这些过程的多次这些过程的多次重复重复就可完成对问题的求解。就可完成对问题的求解。重复的频繁性决定了循环在程序设计中必不重复的频繁性决定了循环在程序设计中必不可少!可少!一、循一、循环问题问题问题1 1
2、:问题问题2 2:求学生平均成绩求学生平均成绩 分数相加后除以课分数相加后除以课分数相加后除以课分数相加后除以课程程程程数数数数做做9999次加法次加法问题问题3 3:找出数找出数找出数找出数集集集集x x x x中能同时被中能同时被中能同时被中能同时被3 3 3 3和和和和7 7 7 7整除的数整除的数整除的数整除的数 找数找数问题分解问题分解循环控制循环控制2023/5/2935.1 5.1 循循环的基本概念的基本概念l while循环循环(5.2节节)l do while循环循环(5.3节节)l for循环循环(5.4节节)l if-goto 循环循环(一般不用)一般不用)难点:难点:C
3、提供四种循环控制语句:提供四种循环控制语句:2023/5/2945.15.1循循环的基本概念(的基本概念(续)二、循二、循环结构构循环结构有两种形式:循环结构有两种形式:l当型循环结构当型循环结构l直到型循环结构直到型循环结构循环体循环体N条件条件Y当型循环当型循环直到型循环直到型循环条件条件NY循环体循环体先判断后循环先判断后循环 先循环后判断先循环后判断入口入口出口出口循环体中是一个过程,该过程的复杂程度取决于问题及对问题的分解2023/5/2955.1 5.1 循循环的基本概念(的基本概念(续)循环体循环体N条件条件Yl当型循环当型循环条件条件 循环循环 次数次数Y循环体循环体?Y Y
4、执行执行 1Y Y 执行执行 3Y Y 执行执行 2N N 结束结束 循环体循环体Y?循环体循环体Y?N3次在循环入口处判断在循环入口处判断当条件为真时执行循环当条件为真时执行循环2023/5/2965.15.1循循环的基本概念(完)的基本概念(完)l直到型循环直到型循环在循环出口处判断,当条在循环出口处判断,当条件为真时继续执行循环,件为真时继续执行循环,直到条件为假时为止。直到条件为假时为止。条件条件NY循环体循环体条件条件 循环循环 次数次数执行执行 1Y 执行执行 3Y 执行执行 2N N 结束结束 3次Y条件条件循环体循环体Y条件条件循环体循环体Y条件条件循环体循环体Y 执行执行 4
5、条件条件循环体循环体N4 4次2023/5/2975.2 while循循环控制控制 l l语句一般格式句一般格式 while(表达式表达式)语句组语句组 l l一般为一般为一般为一般为关系关系关系关系表达式表达式表达式表达式或或或或逻辑逻辑逻辑逻辑表达式,也表达式,也表达式,也表达式,也可以是可以是可以是可以是C C语言其他类语言其他类语言其他类语言其他类型的合法表达式型的合法表达式型的合法表达式型的合法表达式 l l用来控制循环体是用来控制循环体是用来控制循环体是用来控制循环体是否被执行否被执行否被执行否被执行l l称为称为称为称为内嵌语句内嵌语句内嵌语句内嵌语句,可,可,可,可以是基本语句
6、、控以是基本语句、控以是基本语句、控以是基本语句、控制语句,也可以是制语句,也可以是制语句,也可以是制语句,也可以是复合语句复合语句复合语句复合语句l l是循环重复执行的是循环重复执行的是循环重复执行的是循环重复执行的部分部分部分部分 2023/5/298l l语句一般格式语句一般格式 while(表达式表达式)语句组语句组 l l功能:功能:功能:功能:计计算算算算“表达式表达式”的的的的值值,为为非非非非0 0(逻辑逻辑真)真)真)真)时时,重复,重复,重复,重复执执行内嵌行内嵌行内嵌行内嵌语语句,每句,每句,每句,每执执行一次,行一次,行一次,行一次,就判断一次表达式的就判断一次表达式的
7、就判断一次表达式的就判断一次表达式的值值,直到表达式的,直到表达式的,直到表达式的,直到表达式的值值为为0 0 时结时结束循束循束循束循环环,转转去去去去执执行行行行whilewhile后面的后面的后面的后面的语语句。句。句。句。2023/5/299当表达式为真当表达式为真 语句语句N-SN-S结构图结构图结构图结构图N NY Y流程图流程图流程图流程图表达式非表达式非0?语句语句循环控制条件循环控制条件循环控制条件循环控制条件循环体循环体循环体循环体l l语句一般格式语句一般格式 while(表达式表达式)语句组语句组 2023/5/2910例如:例如:【例【例5.1】编写程序,求】编写程序
8、,求100个自然数的和个自然数的和即:即:s=1+2+3+100 思路:寻找思路:寻找加数加数与与求和求和的规律的规律 加数加数i i从从1变到变到100,每循环一次,使,每循环一次,使i增增1,直到直到i的值超过的值超过100。i i的的初值初值初值初值设为设为1。求和求和设变量设变量 sum sum 存放和存放和,循环求,循环求sum=sum+isum=sum+i,直至直至i超过超过100。2023/5/2911算法和程序:算法和程序:#include stdio.hvoid main()int i,sum;i=1;sum=0;while(i=100)sum=sum+i;i+;printf
9、(sum=%dn,sum);程序输出结果:程序输出结果:sum=5050i i:循环控制变量循环控制变量sumsum:累加器累加器 i=1,sum=0 当当i=100 sum=sum+i i+输出输出sum2023/5/2912注意:注意:l l如果如果while的的(表达式表达式)值为0,则循循环体体一次也不一次也不执行行(例如当例如当i的初的初值=101)。l l在循在循环体中必体中必须有使循有使循环趋向向结束的操作,束的操作,否否则循循环将无限将无限进行(行(死循死循环)。)。l l在循在循环体中,体中,语句的先后位置必句的先后位置必须符合符合逻辑,否,否则会影响运算会影响运算结果。果。
10、思考程序段的输出?思考程序段的输出?思考程序段的输出?思考程序段的输出?i=1;sum=0;while(i=100)i+;sum=sum+i;运行后,输出:运行后,输出:运行后,输出:运行后,输出:sum=5150sum=5150原因是什么?原因是什么?原因是什么?原因是什么?2023/5/2913注意(注意(续):):l l总结:为了保了保证循循环正常运行,正常运行,应该特特别注意:注意:循环控制条件的描述循环控制条件的描述 控制条件的初始状态(初始值)控制条件的初始状态(初始值)循环体内部对控制条件的影响循环体内部对控制条件的影响2023/5/29145.3 do-while语句句l l语
11、句一般格式句一般格式 do 语句组语句组 while(表达式表达式););l l功能:功能:先执行内嵌语句先执行内嵌语句(循环体),之后计算(循环体),之后计算表达式的值,不为表达式的值,不为0(逻辑真)时,再(逻辑真)时,再执行循环体并判断条件,直到表达式的执行循环体并判断条件,直到表达式的值为值为 0 结束循环,转去执行结束循环,转去执行while下面下面的语句。的语句。2023/5/2915 do-while循循环的算法的算法 循环体循环体当表达式为真当表达式为真N-S结构图结构图NY循环体循环体表达式非表达式非0?流程图流程图#include stdio.hvoid main()int
12、 i=1,sum=0;do sum=sum+i;i+;while(i=100);printf(%dn,sum);用用用用do-whiledo-while语句语句语句语句求求求求100100个自然数的和个自然数的和个自然数的和个自然数的和 2023/5/2916 void main()int n=1,s=0,x;scanf(%d,&x);printf(s=%dn,s);求:求:流程图流程图n=xn=xs=s+ns=s+nYn加加1开始开始初始化初始化n,s,xn,s,x输入输入x x do do s=s+n;s=s+n;n+;n+;while(n=x);while(n=x);do whiledo
13、 whileN输出输出s结束结束2023/5/2917/*ex1-1.C*/void main()int s=0,x;scanf(%d,&x);while(x=10)s=s+x;x+;printf(s=%dn,s);/*ex1.C*/void main()int s=0,x;scanf(%d,&x);do s=s+x;x+;while(x=10);printf(s=%dn,s);例例循环至少循环至少执行一次执行一次循环没有循环没有被执行被执行三、三、whilewhile与与do whiledo while的比较的比较输出输出:s=12输出输出:s=0如输入为如输入为1 1和和1212,两程序各
14、输出情况,两程序各输出情况输入输入12时:时:2023/5/29185.4 for语句句 l l语句一般格式句一般格式 for(表达式表达式1;表达式表达式2;表达式表达式3)语句语句 循环初始条件循环初始条件循环初始条件循环初始条件循环控制条件循环控制条件循环控制条件循环控制条件循环体循环体循环体循环体 1 1.求解表达式求解表达式1 1;2.2.求解表达式求解表达式2 2,值为真值为真(非非0 0)执行循环执行循环体,然后体,然后执行第执行第3 3步步;值为假值为假(0 0)则则结束结束循环,循环,转到第转到第5 5步,步,3.3.求解表达式求解表达式3 3;4 4.转回第转回第2 2步步
15、。5.5.循环结束,执行循环结束,执行forfor语句下面的语句语句下面的语句。2023/5/2919for(e1;e2;e3)语句的算法句的算法N-S结构图结构图for(e1;e2;e3)语句语句NY流程图流程图计算计算e1 语句语句e3e2为真为真?例如:例如:例如:例如:void main()int i,sum;sum=0;for(i=1;i=100;i+)for(i=1;i=100;i+)sum=sum+i;sum=sum+i;printf(sum=%dn,sum);2023/5/2920forfor循循环控制控制语句句 for(e1;e2;e3)e1 e1、e2e2、e3e3均可缺均
16、可缺少少for(;n100;n+)缺缺少少e1,n应在循环之前赋初值应在循环之前赋初值 for(n=0;n+)缺缺少少e2,造成死循环造成死循环for(n=0;n100;)缺缺少少e3,n增量应在循环体内进行增量应在循环体内进行for(;)缺缺缺缺少少少少e1,e2,e3 e1,e2,e3,死循环!死循环!死循环!死循环!for(;n100;)缺缺少少e1,e3分号始终不能缺少分号始终不能缺少!讨论讨论可结合跳转语句使用,一般情况下可结合跳转语句使用,一般情况下不不使使用用2023/5/2921forfor循循环控制控制语句句for(初值初值;判断判断;增量增量)语句;语句;for(初值初值;
17、判断判断;增量增量)复合语句复合语句;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的初值在的初值在for之前之前完成完成增量在增量在for之外完成之外完成forfor语句的形式:语句的形式:2023/5/2922forfor循循环控制控制语句句void main()int n=1,s=0,x;scanf(%d,&x);for(;n=x;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 循环 结构 程序设计 课件
限制150内