(4周)3章 程序控制结构(循环结构).ppt
《(4周)3章 程序控制结构(循环结构).ppt》由会员分享,可在线阅读,更多相关《(4周)3章 程序控制结构(循环结构).ppt(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第第3章章 循环结构程序设计循环结构程序设计邹琪邹琪计算机与信息技术学院工程系计算机与信息技术学院工程系九教北九教北5175172 2教学目标教学目标学习三种结构的程序设计方法学习三种结构的程序设计方法学习三种结构的程序设计方法学习三种结构的程序设计方法n n顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计n n选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计n n循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计掌握每一种语句的格式、功能、执行过程和执行结掌握每一种语句的格式、功能、执行过程和执行结掌握每一种语句的格式、功能、执行过程和执行结掌
2、握每一种语句的格式、功能、执行过程和执行结果,并学习如何将这些语句组织成程序果,并学习如何将这些语句组织成程序果,并学习如何将这些语句组织成程序果,并学习如何将这些语句组织成程序学习递推、迭代问题的解题思路及方法学习递推、迭代问题的解题思路及方法学习递推、迭代问题的解题思路及方法学习递推、迭代问题的解题思路及方法3循环概述循环概述三种循环结构语句三种循环结构语句n while while语句语句n do-whiledo-while语句语句n for for语句语句循环的嵌套循环的嵌套breakbreak和和continuecontinue语句语句循环结构的应用循环结构的应用主要内容主要内容4引
3、例:编程计算引例:编程计算1*2*3*4*5 可以这样实现:可以这样实现:intproduct;product=1*2*3*4*5;如果问题变为:如果问题变为:求求1*2*3*10000?该问题无法用一个赋值语句实现!该问题无法用一个赋值语句实现!典型的循环结构程序典型的循环结构程序5一、循环概述一、循环概述6循环结构循环结构在很多实际问题中会遇到有规律性的重复运在很多实际问题中会遇到有规律性的重复运算,因此在程序中就需要将某些语句重复执算,因此在程序中就需要将某些语句重复执行。行。一组被重复执行的语句称为一组被重复执行的语句称为循环体循环体;每重复一次,都必须作出是继续还是停止循环的决每重复
4、一次,都必须作出是继续还是停止循环的决定,这个决定所依据的条件称为定,这个决定所依据的条件称为循环条件循环条件;循环循环:在给定条件成立时,反复执行某程序:在给定条件成立时,反复执行某程序段,直到条件不成立为止。段,直到条件不成立为止。7循环结构循环结构入口入口入口入口nonoPAyesyes出口出口出口出口循环条件循环条件 循环体循环体8循环结构需要解决的两个问题循环结构需要解决的两个问题2.2.控制循环结构的控制循环结构的结构描述结构描述条件表示描述方法条件表示描述方法逻辑表达式逻辑表达式关系表达式关系表达式1.1.控制循环结构执行的控制循环结构执行的条件表示条件表示while语句语句do
5、-while语句语句实现循环结构的语句实现循环结构的语句可使用可使用c c中的中的任意表达式任意表达式for语句语句9while 语句语句10while while 语句:语句:whilewhilewhilewhile(表达式)语句;(表达式)语句;(表达式)语句;(表达式)语句;1.1.计算表达式的值;计算表达式的值;计算表达式的值;计算表达式的值;2.2.当表达式的值为非当表达式的值为非当表达式的值为非当表达式的值为非0 0 0 0时,反复执行时,反复执行时,反复执行时,反复执行whilewhilewhilewhile中的中的中的中的语句;语句;语句;语句;3.3.当表达式的值为当表达式的
6、值为当表达式的值为当表达式的值为0 0 0 0时,时,时,时,whilewhilewhilewhile循环结束。循环结束。循环结束。循环结束。功能:功能:while while 语句用来实现语句用来实现“当型当型”循环。循环。执行流程:执行流程:11while 语句执行流程:语句执行流程:0 0非非非非0 0表达式表达式表达式表达式=?=?循环体外语句循环体外语句循环体外语句循环体外语句循环体语句循环体语句循环体语句循环体语句循环入口循环入口循环入口循环入口 循环循环循环循环结束!结束!结束!结束!开始下一开始下一开始下一开始下一次循环次循环次循环次循环特点:先判断,后特点:先判断,后执行;若
7、条件不成执行;若条件不成立,则有可能一次立,则有可能一次也不执行。也不执行。适合的情况:适合的情况:适合的情况:适合的情况:知道控制循知道控制循知道控制循知道控制循环的条件为某个环的条件为某个环的条件为某个环的条件为某个逻辑表达式的值,逻辑表达式的值,逻辑表达式的值,逻辑表达式的值,而且在循环中该而且在循环中该而且在循环中该而且在循环中该表达式的值会被表达式的值会被表达式的值会被表达式的值会被改变。改变。改变。改变。12例例1.编程计算编程计算1+2+3+10000#include#includevoid main()void main()int i=1,sum=0;int i=1,sum=0
8、;while(i=while(i=1000010000)/*/*循环结构循环结构循环结构循环结构*/sum+=i;sum+=i;i+;i+;printf(“sum=%dn”,sum);printf(“sum=%dn”,sum);sum =sum+i;i=i+1;13#include#define n 10000void main()int i=1,sum=0;while(i=n)sum+=i;i+;printf(“sum=%dn”,sum);例例1.编程计算编程计算1+2+3+1000014#include#includevoid main()void main()int i=1,sum=0,
9、int i=1,sum=0,n n;prprintf(“intf(“请输入请输入请输入请输入n n的值的值的值的值:n”);:n”);scanf(“%d”,&n);scanf(“%d”,&n);while(i=while(i=n n)sum+=i;sum+=i;i+;i+;printf(“sum=%dn”printf(“sum=%dn”,sum)sum);do-while 语句语句1516do-while do-while 语句:语句:do do 语句语句;whilewhile(表达式);(表达式);1.1.执行语句;执行语句;执行语句;执行语句;2.2.计算表达式的值;计算表达式的值;计算表
10、达式的值;计算表达式的值;3.3.当表达式的值为非当表达式的值为非当表达式的值为非当表达式的值为非0 0 0 0时,再次执行时,再次执行时,再次执行时,再次执行dodododo中的语句;中的语句;中的语句;中的语句;4.4.当表达式的值为当表达式的值为当表达式的值为当表达式的值为0 0 0 0时,时,时,时,do-whiledo-whiledo-whiledo-while循环结束。循环结束。循环结束。循环结束。执行流程:执行流程:17真真真真(非非非非0)0)表达式表达式表达式表达式=?=?语句语句语句语句循环体外语句循环体外语句循环体外语句循环体外语句0 0do-while 语句执行流程:语
11、句执行流程:循环循环循环循环结束!结束!结束!结束!开始下一开始下一开始下一开始下一次循环次循环次循环次循环特点:先执行,后特点:先执行,后判断;循环至少执判断;循环至少执行一次语句。行一次语句。18#include#includevoidmain()voidmain()inti=0,sum=0;inti=0,sum=0;doi+;sum+=i;while(i10000);printf(sum=%dn,sum);printf(sum=%dn,sum);inti=1,sum=0;while(i=10000)sum+=i;i+;例例2.用用do-while语句实现语句实现1+2+3+1000019
12、例例3.3.求满足求满足 1+2+3+1+2+3+n500 +n500 中最大的中最大的 N N,并求其和,编写程序实现。,并求其和,编写程序实现。分析分析本题还是一个累加求和的问本题还是一个累加求和的问题,当累加和题,当累加和sumsum 500500时反时反复执行循环,否则结束循环复执行循环,否则结束循环步骤步骤定义变量:定义变量:sumsum,n n;sum sum 和和 n n 分别赋初值;分别赋初值;n=0n=0;sum=0sum=0;当当 sum sum 500 500 时反复执行循环,时反复执行循环,否则结束循环。否则结束循环。语句为语句为:While(sum500)While(
13、sum500)+n+n;sum+=nsum+=n;20#include#includevoid main()void main()int n=0 int n=0,sum=0sum=0;while(sum500)while(sum500)+n +n;sum+=nsum+=n;printf(n=%d printf(n=%d,sum=%dnsum=%dn,n-1n-1,sum-n)sum-n);Why?为什么不是为什么不是为什么不是为什么不是n n,sumsum?结果结果n=31,sum=496程序程序1+2+3+n=n)n(m=n);2.2.设设 r r 表示表示 m m 除以除以 n n 的余数
14、;的余数;即:即:r=m%n;r=m%n;如果,如果,r=0 r=0 则则 n n 中的值为中的值为m m 和和 n n的最大公约数;否则执行:的最大公约数;否则执行:m=n;m=n;n=r;n=r;转回转回“如果如果”处,继续执行。处,继续执行。最小公倍数最小公倍数m m 和和 n n 的乘积的乘积 除以最大公约数除以最大公约数22#include#include void main()void main()int m,n,GCD,LCM,r,p int m,n,GCD,LCM,r,p;scanf(“%d,%d”scanf(“%d,%d”,&m,&n)&m,&n);/*(mn)*/*(mn)
15、*/r=m%n;r=m%n;p=m*n;p=m*n;while(r)while(r)m=nm=n;n=rn=r;r=m%nr=m%n;GCD=n;GCD=n;LCM=p/GCD;LCM=p/GCD;printf(“the greatest common division=%dn”printf(“the greatest common division=%dn”,GCD);GCD);printf(“the lease common multiple=%d n”printf(“the lease common multiple=%d n”,LCM);LCM);while(r!=0)while(r!
16、=0)23例例例例5.5.用户输入多个字符,要求按以下规律进行翻译:用户输入多个字符,要求按以下规律进行翻译:用户输入多个字符,要求按以下规律进行翻译:用户输入多个字符,要求按以下规律进行翻译:将用户输入的每一个英文字母变为它后面的字母输出,将用户输入的每一个英文字母变为它后面的字母输出,将用户输入的每一个英文字母变为它后面的字母输出,将用户输入的每一个英文字母变为它后面的字母输出,如:将如:将如:将如:将A A变成变成变成变成B B,B B变成变成变成变成C C,Z Z变成变成变成变成A A。用户输入的非字母的字符原样输出。用户输入的非字母的字符原样输出。用户输入的非字母的字符原样输出。用户
17、输入的非字母的字符原样输出。!作为用户输入结束的标志。作为用户输入结束的标志。作为用户输入结束的标志。作为用户输入结束的标志。分析分析1.1.读入第一个字符;读入第一个字符;2.2.当其不是当其不是“!”时,进入循环;时,进入循环;3.3.判断其是否为字母,如果是则判断其是否为字母,如果是则 将其翻译成该字母的后继;将其翻译成该字母的后继;4.4.如果读入的字符不是字母,原如果读入的字符不是字母,原 样输出;样输出;5.5.再读入下一个字符,返回再读入下一个字符,返回2 2步;步;6.6.当输入字符为当输入字符为“!”时结束。时结束。24#includevoidmain()charch;sca
18、nf(%c,&ch);while(ch!=!)if(ch=a&ch=A&ch0 m 0 时,开始统计时,开始统计时,开始统计时,开始统计mm的位数的位数的位数的位数while(m0)while(m0)因为因为因为因为m0m0,mm至少有一位,至少有一位,至少有一位,至少有一位,num+;num+;然后把然后把然后把然后把mm的个位去除;的个位去除;的个位去除;的个位去除;m=m/10;m=m/10;再判断再判断再判断再判断mm是否仍然是否仍然是否仍然是否仍然00;回到循环头部回到循环头部回到循环头部回到循环头部当循环结束时,即:当循环结束时,即:当循环结束时,即:当循环结束时,即:m=0;m=
19、0;结果:结果:结果:结果:numnum的值即为的值即为的值即为的值即为mm的位数;的位数;的位数;的位数;28求解方法:求解方法:2.2.分别正向打印出每一位数字;分别正向打印出每一位数字;分别正向打印出每一位数字;分别正向打印出每一位数字;a)a)首先应求出首先应求出首先应求出首先应求出mm的位数的位数的位数的位数num;num;b)b)然后从最高位开始输出;然后从最高位开始输出;然后从最高位开始输出;然后从最高位开始输出;c)c)最高位为:最高位为:最高位为:最高位为:m/10m/10num-1num-1;d)d)除了最高位以外,其他的部分为:除了最高位以外,其他的部分为:除了最高位以外
20、,其他的部分为:除了最高位以外,其他的部分为:m%10m%10num-1num-1;e)e)循环直到最后一位输出结束。循环直到最后一位输出结束。循环直到最后一位输出结束。循环直到最后一位输出结束。29求解方法:求解方法:3.3.逆序打印出各位数字;逆序打印出各位数字;逆序打印出各位数字;逆序打印出各位数字;a)a)从最低位开始输出;从最低位开始输出;从最低位开始输出;从最低位开始输出;b)b)最低位为:最低位为:最低位为:最低位为:m/10m/10;c)c)除去最低位,其它的部分为:除去最低位,其它的部分为:除去最低位,其它的部分为:除去最低位,其它的部分为:m%10m%10;d)d)循环,直
21、到最高位输出结束。循环,直到最高位输出结束。循环,直到最高位输出结束。循环,直到最高位输出结束。for 语句语句3031for for 语句:语句:for(for(表达式表达式1 1;表达式表达式2 2;表达式表达式3 3)语句语句;表达式表达式1 1:一般为赋值表达式,给控制变量赋初值;:一般为赋值表达式,给控制变量赋初值;表达式表达式2 2:关系表达式或逻辑表达式,循环控制条件;:关系表达式或逻辑表达式,循环控制条件;表达式表达式3 3:一般为赋值表达式,给控制变量增量:一般为赋值表达式,给控制变量增量/减量;减量;语句语句:循环体,当有多条语句时,必须使用复合语句:循环体,当有多条语句时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 4周3章 程序控制结构循环结构 程序控制 结构 循环
限制150内