《循环程序设计》PPT课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《循环程序设计》PPT课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环程序设计 循环 程序设计 PPT 课件
- 资源描述:
-
1、第第 5 5 章章 循环控制程序设计循环控制程序设计 1. 目的、要求目的、要求 掌握掌握实现循环的实现循环的3种方法及其比较种方法及其比较。 掌握循环的嵌套。掌握循环的嵌套。 掌握掌握break和和continue语句的使用。语句的使用。2. 重点、难点重点、难点 循环结构的灵活应用。循环结构的灵活应用。可整理ppt2循环型程序设计循环型程序设计 循环结构在程序设计中十分重要。所谓循环结构就是当给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。循环结构是结构化程序三种基本结构之一,可用于实现循环的C语句有: goto语句+if语句 wh
2、ile语句 dowhile语句 for语句可整理ppt3q问题提出打印整数打印整数1-10打印整数打印整数1-100打印整数打印整数1-n方法一:方法二:printf(“%d”,1);printf(“%d”,2);printf(“%d”,10);printf(“%d%d%d%d”,1,2,3,10);printf(“%d”,i);i+;printf(“%d”,i); i+;printf(“%d”,i); i+;i=1;程序段 int i=1; while (i=10) printf(%d,i); i+; 循环不变式循环不变式可整理ppt4goto 语句及其构成的循环语句及其构成的循环goto语
3、句为无条件转向语句,一般形式为:goto 语句标号;语句标号;语句标号的命名规则与变量名相同。 goto语句程序的可读性差、无规律,不符合结构化程序设计原则,因而只有在万不得已时才使用。1001nnsummain()int i,sum=0; i=1; loop:if (i=100) sum=sum+i; i+; goto loop; printf(%d,sum);可整理ppt5while结构的应用结构的应用while语句用于实现“当型”循环结构,一般形式为:while(条件表达式)(条件表达式) 循环体循环体当表达式为非非0时,执行while的内嵌语句。特点:先判断表达式,后执行语句。特点:先
4、判断表达式,后执行语句。可整理ppt6 注意: 循环体可以是用花括号括起的复合语句;循环体中应有使循环趋于结束的语句,否则将进入死循环。 用计数法设置循环条件时,应特别注意“边界值”的选取。可整理ppt7 while语句的意义为:计算表达式的值,若表达式的值为真(非0)时,则执行循环体语句;不断反复,直到表达式的值为假(0),则不执行循环体语句,而直接转向循环体外的第一条语句。 注意,whlie语句后没有分号(;)。 为了保证循环体可以结束,通常采用每循环一次向某种方向改变表达式的值,使得表达式的值最终可以为假。还有一种方法是在某种条件下,强行从循环体中跳出(如使用break语句)。 若表达式
5、的值永远为真,则循环体被不断地执行,也就是说,永远不能从循环中退出,我们通常称这种循环为“死循环”。在绝大多数情况下,都不允许死循环。PA假真A当P为真可整理ppt8 计算表达式的值,为非0(逻辑真)时,重复执行内嵌语句,每执行一次,就判断一次表达式的值,直到表达式的值为0 时结束循环,转去执行while后面的语句。 当表达式为真当表达式为真 语句语句表 达 式 非表 达 式 非0?语句语句可整理ppt9【例5.2】编写程序,求100个自然数的和即: SUM=1+2+3+ +100 sum=0sum+1 sumsum+2 sumsum+3 sumsum+100 sum循环不变式sum=sum+
6、?main( ) int i,sum; i=1; sum=0; while (i=100) sum=sum+i; i+; printf(sum=%dn,sum); i=1,sum=0 当当i = 100 sum=sum+i i+输出输出sum可整理ppt10 为了保证循环正常运行,应该特别注意: 循环控制条件的描述 控制条件的初始状态(初始值) 循环体内部对控制条件的影响可整理ppt11用于实现“直到型”循环结构,一般形式为:do 循环体循环体 while(条件表达式)(条件表达式); 先执行语句,再判断表达式的值,直到表达式的值为0时结束循环。特点:先执行语句,后判断表达式。特点:先执行语句
7、,后判断表达式。do while结构的应用结构的应用PA假真A直到P为真 可整理ppt12 循环体循环体当表达式为真当表达式为真N-S结构图结构图NY循环体循环体表达式非表达式非0?流程图流程图main( ) int i=1,sum=0; do sum=sum+i; i+; while (i=100); printf(%dn,sum);可整理ppt13可整理ppt14对于do-while语句还应注意以下几点:l 在if语句、while语句中,表达式后面都不能加分号,而在do-while语句的表达式后面则必须加分号;l do-while语句也可以组成多重循环,而且也可以和while语句相互嵌套;
8、l 在do和while之间的循环体由多个语句组成时,必须用括起来;l do-while和while语句相互替换时,要注意修改循环控制条件;可整理ppt15例:求i+(i+1)+(i+2)+10,其中i由键盘输入,分别用两种语句编程while 循环程序do -while 循环程序#includemain()int i,sum=0; scanf(%d,&i); while(i=10) sum=sum+i; i+; printf(i=%d,sum=%dn,i,sum);#includemain()int i,sum=0; scanf(%d,&i); do sum=sum+i; i+; while(i
9、=10); printf(i=%d,sum=%dn,i,sum);可整理ppt16例:输入一些数,求和,直到输入负数为止#includemain() int x,sum=0; scanf(%d,&x); while(x=0) sum=sum+x; scanf(%d,&x); printf(sum=%d,sum);#includemain() int x,sum=0; do scanf(%d,&x); sum=sum+x; while(x=0); printf(sum=%d,sum);输入:1,2,5,-10输入:-10,1,2,5结果:sum=8结果:sum=-2结果:sum=0结果:sum=
10、-10可整理ppt17一般形式为: for(表达式表达式1;表达式;表达式2;表达式;表达式3) 语句语句 最简单、最易理解的形式为:for(循环变量初值;循环条件;循环变量增值)语句循环变量初值;循环条件;循环变量增值)语句如:for(i=1;i=100;i+) sum=sum+i;求解表达式1表达式2语句求解表达式3for语句的下一语句for结构的语法结构的语法0非 0可整理ppt18 for语句一般格式 for (表达式1;表达式2;表达式3) 语句 可整理ppt19 for(表达式表达式1;表达式;表达式2;表达式;表达式3)语句)语句表达式表达式1;while (表达式(表达式2)
11、语句语句 表达式表达式3; 可整理ppt20N-S结构图结构图for (表达式表达式1;表达式表达式2;表达式表达式3) 语句语句NY流程图流程图计算表达式计算表达式1 计算表达式计算表达式3表达式表达式2为真为真?例如:main( ) int i,sum; sum=0; for ( i=1; i=100; i+) sum=sum+i; printf(sum=%dn,sum);for语句用while实现 exp1;while(exp2) 语句语句; exp3; 可整理ppt21 for ( ; ; ) 注意:在省略某个表达式时,应在适当位置进行循注意:在省略某个表达式时,应在适当位置进行循环控
12、制的必要操作,以保证循环的正确执行环控制的必要操作,以保证循环的正确执行可整理ppt22 3. 限定转向语句限定转向语句 break:终止循环或多路选择结构。 continue:结束本次循环。 函数调用和返回:转向被调函数和从被调函数返回。while ()() | break; | while ()() | continue; | 可整理ppt23后续语句后续语句后续语句后续语句break语句 功能:利用break语句能够强迫终止本层循环,转到后续语句执行。后续语句后续语句可整理ppt24后续语句后续语句 后续语句后续语句continue语句 功能:中断循环体的本次执行(即跳过循环体中尚未执行
13、的语句),立即开始执行下一次循环。后续语句后续语句可整理ppt25#includemain()int i,sum=0; i=1; while(i=100) sum=sum+i; i+; printf(%dn,sum);可整理ppt26#include stdio.hmain() int c; while(c=getchar( )!=n) putchar(c);可整理ppt27#include stdio.hvoid wait_a_char() char ch; printf(请输入正确的密码请输入正确的密码:n); scanf(%c,&ch); while (ch!=c) printf(密码输
14、入不正确,请重输密码输入不正确,请重输!); scanf(%c,&ch); return;main()wait_a_char();printf(password ok!n);可整理ppt28main()int i,sum=0; i=1; do sum=sum+i; i+; while(i=100); printf(%dn,sum);可整理ppt29几种循环的比较几种循环的比较1)虽然4种循环通常可以互相代替,但不提倡用goto循环。2)对while和dowhile循环,在循环体中包含应反复执行的操作语句;而对for循环,可将循环体中的操作全部放到表达式3中。因此for语句的功能更强,可完全代替
15、while循环。3)对while和dowhile循环,循环变量的初始化应在while和dowhile语句之前完成,而for语句可在表达式1中完成。4)while和for是先判断后执行,dowhile是先执行后判断。5)while、dowhile、for可用break和continue控制。可整理ppt30循环的嵌套循环的嵌套 对于相互嵌套的循环,应遵循以下原则:对于相互嵌套的循环,应遵循以下原则: 1、内外循环不得交叉;、内外循环不得交叉; 2、外循环的控制变量不能与任何一个内循环变量相同,、外循环的控制变量不能与任何一个内循环变量相同,但几个并列的内循环允许用相同的控制变量;但几个并列的内循
16、环允许用相同的控制变量; 一个循环(称为一个循环(称为“外循环外循环”)的循环体内包含另一个循)的循环体内包含另一个循环(称为环(称为“内循环内循环”)。内循环中还可以包含循环,形成多)。内循环中还可以包含循环,形成多层循环。(循环嵌套的层数理论上无限制)层循环。(循环嵌套的层数理论上无限制), 三种循环(三种循环(while循环、循环、do-while循环、循环、for循环)可以互相嵌套。循环)可以互相嵌套。 可整理ppt31while( ) while( ) for( ; ; ) while( ) . for( ; ; ) for( ; ; ) . do do . while( ); wh
17、ile( ); for( ; ;) do . while(); 可整理ppt32#includemain() int i,j; for(i=0;i5;i+) for(j=0;j=i;j+) printf(“%3d”,j); printf(“n”); 运行结果:运行结果: 0 0 1 0 1 2 0 1 2 3 0 1 2 3 4 循环嵌套举例一循环嵌套举例一可整理ppt33#include main() int i,j; for(i=1;i=9;i+) for(j=1;j=i;j+) printf(“%dX%d=%d ”,i,j,i*j); printf(“n”); 循环嵌套举例二:打印九九乘
18、法表循环嵌套举例二:打印九九乘法表运行结果:运行结果:1X1=12X1=2 2X2=43X1=3 3X2=6 3X3=94X1=4 4X2=8 4X3=12 4X4=16 可整理ppt34#includemain() int i,j; int sum1,sum2=0; for(i=1;i=5;i+) sum1=1; for(j=1;j=i;j+) sum1=sum1*j; sum2=sum2+sum1; printf(“1!+2!+3!+4!+5!=%dn”,sum2);循环嵌套举例三:计算循环嵌套举例三:计算1!+2!+3!+4!+5! sum1=1; for(j=1;j=5;j+) sum
展开阅读全文