循环结构程序设计课件2.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《循环结构程序设计课件2.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 结构 程序设计 课件
- 资源描述:
-
1、第5章 循环结构程序设计 2022-9-302循环结构的应用场合2022-9-303循环结构类型NYP成立成立?A当当P成立时成立时 A A当当P成立时成立时YNAP成立成立?N-S流程流程图图流程流程图图2022-9-304本章主要内容5.1 C语言的循环语句5.1.1 while语句(当型循环)5.1.2 do-while语句(直到型循环)5.1.3 for语句5.1.4 三种循环语句的比较和使用5.2 循环的跳转5.2.1 break语句5.2.2 continue语句5.3 循环嵌套5.4 循环结构程序设计举例2022-9-3055.1.1 while语句 n语句一般格式 while(
2、)2022-9-3065.1.1 while语句n功能:计算表达式的值内嵌语句 当表达式为真当表达式为真 语句语句表 达 式 非表 达 式 非0?语句语句2022-9-3075.1.1 while语句(举例)【例5.1】编写程序,求100个自然数的和即:思路:寻找思路:寻找加数加数与与求和求和的规律的规律 加数加数 从从1变到变到100,每循环一次,使,每循环一次,使i增增1,直到,直到i的值超过的值超过100。的的设为设为1。求和求和设变量设变量 存放和,循环求存放和,循环求,直至直至i超过超过100。2022-9-308算法和程序:#include main()int i,sum;i=1;
3、sum=0;while(i=100)sum=sum+i;i+;printf(sum=%dn,sum);程序输出结果:程序输出结果:sum=5050 i=1,sum=0 当当i=100 sum=sum+i i+输出输出sum2022-9-309注意:i的初值=101。死循环 while(i=100)i+;sum=sum+i;2022-9-3010注意(续):n为了保证循环正常运行,应该特别注意:循环控制条件的描述2022-9-30115.1.1 while语句(举例)【例5.2】编写程序,从键盘输入字符,直到输入的字符为0时停止,统计输入的字符个数。自学:自学:P58例例4-1;P61例例4-2
4、。2022-9-30125.1.2 do-while语句n语句一般格式 do while();功能:(循环体),之后计算表达式的值,不为0(逻辑真)时,再执行循环体并判断条件,直到表达式的值为 0 结束循环,转去执行while下面的语句。2022-9-3013 do-while循环的算法 循环体循环体当表达式为真当表达式为真N-S结构图结构图NY循环体循环体表达式非表达式非0?流程图流程图main()int i=1,sum=0;do sum=sum+i;i+;while(i=100);printf(%dn,sum);2022-9-30145.1.2 do-while语句(说明:)nwhiled
5、o-while2022-9-3015while 和 do-while 的用法比较输入一些数,求和,直到输入负数为止。#include void main()int x,sum=0;do scanf(%d,&x);sum+=x;while(x0);printf(sum=%d,sum);#include void main()int x,sum=0;scanf(%d,&x);while(x0)sum+=x;scanf(%d,&x);printf(sum=%d,sum);输入输入 1 2 5 -10输入输入-10 1 2 5sum-x2022-9-30165.1.2 do-while语句(简单应用)
6、【例5.3】用辗转相除法求m和n的最大公约数。定义定义m、n、rmnT F m和和n交换交换r=m%nm=nn=r 当当r!=0时时输出最大公约数输出最大公约数m自学:自学:P62例例4-3。2022-9-30175.1.3 for语句 n语句一般格式 for(表达式1;表达式2;表达式3)语句 2022-9-3018for语句的算法N-S结构图结构图for(表达式表达式1;表达式表达式2;表达式表达式3)语句语句NY流程图流程图计算表达式计算表达式1 语句语句计算表达式计算表达式3表达式表达式2为真为真?例如:main()int i,sum;sum=0;for(i=1;i=100;i+)su
7、m=sum+i;printf(sum=%dn,sum);2022-9-30195.1.3 for语句(省略表达式的for语句)n省略表达式1,即:for(;表达式2;表达式3)例如:;for(;i100)2022-9-30205.1.3 for语句(省略表达式的for语句)n省略表达式3,即:等同于:表达式1;while(表达式2)(死循环)例如:for(i=1;i=100;)i+;for(;)总结:在省略某个表达式时,应在适当位置进行总结:在省略某个表达式时,应在适当位置进行循环控制的必要操作,以保证循环的正确循环控制的必要操作,以保证循环的正确执行。执行。2022-9-30215.1.3
8、for语句(说明:)n所有用 while 语句实现的循环都可以用for 语句实现。for(i=0,sum=0;i=100;i+,i+)sum+=i;for(i=0,sum=0;i=100;i=i+2)sum+=i;2022-9-30225.1.3 for语句(简单应用)【例5.4】求n!,即计算p=123n的值。思路:求阶乘与求累加的运算处理过程类似,只要思路:求阶乘与求累加的运算处理过程类似,只要将将“”变为变为“”。设置:设置:,初值为,初值为1,终值为,终值为n(n是循环控制是循环控制终值,需要从键盘输入)终值,需要从键盘输入),初值为初值为1,每次循环令,每次循环令p=p*i2022-
9、9-3023程序:#include main()int i,n;long p;p=1;printf(Enter n:);scanf(%d,&n);for(i=1;i=n;i+)p=p*i;printf(p=%ld n,p);2022-9-3024熟悉几个循环语句2022-9-30255.1.4 3种循环语句的比较和使用nwhiledo-while表达式一个for三个nwhile for先判断后执行do-while先执行后判断2022-9-30265.1.4 3种循环语句的比较和使用n循环语句的选择forwhiledo-while2022-9-30275.1.4 3种循环语句使用(课堂练习)20
10、22-9-30285.1.4 3种循环语句使用(课堂练习)2022-9-30295.1.4 3种循环语句使用(课堂练习)s=s+t t=1.0/i 2022-9-30305.1.4 3种循环语句使用(课堂练习)s=s+t t=1.0/i*flag flag=-flag 2022-9-30315.1.4 3种循环语句使用(课堂练习)s=s+t t=1.0/i*flag flag=-flag tt=tt+2 2022-9-30325.1.4 3种循环语句使用(课堂练习)#include void main()int i,sum=0,x;for(i=0;i0)sum=sum+x;printf(%d,
11、sum);%d,&xif x0sum=sum+x2022-9-30335.1.4 3种循环语句使用(课堂练习)void main()int i,max,n,x;scanf(%d,&n);if(n=1)scanf(%d,&x);max=x;for(i=1;in;i+)scanf(%d,&x);if(max x)max=x;printf(%d,max);x maxmaxx循环循环2022-9-30345.2 循环的跳转n有如下两种语句实现跳转:语句语句n在循环语句的循环体中使用,可以进行循环的流程控制2022-9-3035后续语句后续语句后续语句后续语句5.2.1 break语句n功能:利用bre
12、ak语句能够强迫终止本层循环,转到后续语句执行。后续语句后续语句2022-9-30365.2.1 break语句while(n10)scanf(%d,&x);s+=x;n+;2022-9-30375.2.1 break语句(举例)算法:除了1和m,不能被其它数整除。设 i 取值 2,m-1 如果m不能被该区间上的任何一个数整除,即对每个i,m%i 都不为0,则m是素数只要找到一个i,使m%i为0,则m肯定不是素数m%2%3%4%5%(m-1)不是素数|=0 =0是素数&!=0 !=0 m2022-9-3038break;5.2.1 break语句(举例)问题:能否改写为:问题:能否改写为:fo
展开阅读全文