C语言PPT课件第04章循环控制.ppt
《C语言PPT课件第04章循环控制.ppt》由会员分享,可在线阅读,更多相关《C语言PPT课件第04章循环控制.ppt(103页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第第4 4章章 循循 环环 控控 制制第一节第一节 概述概述第二节第二节 goto 语句语句第三节第三节 while 语句语句第四节第四节 do-while 语句语句第五节第五节 for 语句语句第六节第六节 循环的嵌套循环的嵌套第七节第七节 几种循环的比较几种循环的比较第八节第八节 break和和continue 语句语句第九节第九节 程序举例程序举例25-1 5-1 循环问题循环问题l循环在常中生活中经常遇到循环在常中生活中经常遇到上课问题:上课问题:从第一周到十五周,从第一周到十五周,每周每周 二上二上C语言课。这就是语言课。这就是一个循环一个循环。即每逢周二,就上。即每逢周二,就上C。
2、周二周二 C语言语言如果如果=15=15周周34-14-1循环语句循环语句 问题:问题:C课是从哪一周开始,到哪周结束,也就课是从哪一周开始,到哪周结束,也就是说循环是从哪里开始,到哪结束?是说循环是从哪里开始,到哪结束?整个过程为:整个过程为:S1:第一周开始第一周开始 S2:周二周二 S3:上上C S4:下一周数下一周数=15 Y 转到转到S2 N 课程结束课程结束 44-14-1循环语句循环语句 S1:第一周开始第一周开始 S2:周二周二 S3:上上C S4:下一周数下一周数=15 Y 转到转到S2 N 课程结束课程结束在这里,在这里,S1是循环的开始,是循环的开始,S4是控制循环的结束
3、是控制循环的结束 54-1 4-1 循环循环l提出问题提出问题2提问:提问:从键盘上输入从键盘上输入10个整数并求和,怎么编程?个整数并求和,怎么编程?回答:回答:在程序中写入在程序中写入10个个scanf()语句。语句。提问:提问:从键盘上输入从键盘上输入500个整数并求和,怎么编程个整数并求和,怎么编程?回答:回答:这个,嗯这个,嗯?不会让我写不会让我写500个个.老师:老师:让我们换一个角度来看待这些问题,让我们换一个角度来看待这些问题,以上问题的实质是:将以上问题的实质是:将scanfscanf函数重复执行函数重复执行N N遍。遍。学生:学生:对!好象是对!好象是 这么回事这么回事.老
4、师:老师:我们可以引出一个概念我们可以引出一个概念“循环循环”,简单而言:,简单而言:循循环环就是不断就是不断反复地执行同一段程序。反复地执行同一段程序。学生:学生:这就是我们今天要学的新东西?这就是我们今天要学的新东西?6今天要讲的是循环语句今天要讲的是循环语句基本语句基本语句 74-14-1循环语句循环语句l循环循环 反复执行同一段程序,直到满足反复执行同一段程序,直到满足一定的条件后才停止执行该段程序。一定的条件后才停止执行该段程序。lC语言中控制循环的语句:语言中控制循环的语句:while do-while do-while for for 下面我们先讲下面我们先讲 while whi
5、le 循环。举一个例子。循环。举一个例子。84-14-1循环语句循环语句例题例题1:从键盘上输入:从键盘上输入10个同学的分数,求平均个同学的分数,求平均成绩,怎么编程?成绩,怎么编程?分析:分析:1、要有一个存放同学成绩的变量、要有一个存放同学成绩的变量scod,有一个成绩累加的变量有一个成绩累加的变量sum 还有一个平均值变量还有一个平均值变量aver 2、每个学生的成绩从键盘输入、每个学生的成绩从键盘输入 3、总共要输入和累加十个学生的成绩,、总共要输入和累加十个学生的成绩,也就是要循也就是要循 环十次,用一个变量环十次,用一个变量K来表示。来表示。94-14-1循环语句循环语句 过程:
6、过程:S1:设设scod为同学的成绩,为同学的成绩,sum为成绩的累加为成绩的累加,aver为平均为平均 值,值,K为循环次数控制值。为循环次数控制值。S2:sum=0;表示累加数开始是零表示累加数开始是零 S3:K=1;表示从第一位同学开始表示从第一位同学开始 S4:当当(K=10)输入一个成绩输入一个成绩scod;sum=sum+scod;累加累加 k=k+1;循环的次数增循环的次数增1 S5:aver=sum/10;104-14-1循环语句循环语句编程如下:编程如下:int scod,sum,aver,k;sum=0;/*表示累加数开始是零表示累加数开始是零*/k=1;/*表示从第一位同
7、学开始表示从第一位同学开始*/while(k=10)scanf(“%d”,&scod);/*输入一个成绩输入一个成绩*/sum=sum+scod;/*累加累加*/k=k+1;/*循环的次数增循环的次数增1*/aver=sum/10;114-14-1循环语句循环语句例例2 计算计算n+n+n+.+n、10个个n求和,其算法如下:求和,其算法如下:设设SUM为累加数,为累加数,K为计数器为计数器,n=2。S1:n=2;SUM=0 (累计数开始为累计数开始为0)K=1 (表示从第一个数开始)表示从第一个数开始)S2:当当 K=10 (计算计算10 个数)个数)(否则转否则转s4)s3:SUM=SUM
8、+n (累加)累加)K=K+1(累计下一个数)累计下一个数)S4:打印打印SUM。124-14-1循环语句循环语句 int sum,k,n;n=2;sum=0;(累计数开始为累计数开始为0)k=1;(表示从第一个数开始)表示从第一个数开始)while(k=10)(计算计算10 个数)个数)sum=sum+n;(累加)累加)k=k+1;(累计下一个数)累计下一个数)printf(“n sum=%d”,sum);13例例3 计算计算1+2+3+.+10、10个整数求和个整数求和,其算法如下:,其算法如下:设设SUM为累加数,为累加数,K为计数器。为计数器。计算计算 设设sum=0,k=1,1+2+
9、3+4+5+6+7+8+9+10 sum=sum+1 (+k)第一步第一步 k=k+1 sum=sum+2 (+k)k+sum=sum+3 Sum=sum+4 sum=sum+10144-14-1循环语句循环语句例例3 计算计算 设设sum=0,k=1,1+2+3+4+5+6+7+8+9+10 sum=sum+1 (+k)第一步第一步 k=k+1 sum=sum+2 (+k)k+sum=sum+3 Sum=sum+4 sum=sum+10154-14-1循环语句循环语句例例3 计算计算1+2+3+.+10、10个整数求和,其算法如下:个整数求和,其算法如下:设设SUM为累加数,为累加数,K为计
10、数器。为计数器。S1:SUM=0 (累计数开始为累计数开始为0)K=1 (表示从第一个数开始)表示从第一个数开始)S2:当当 K=10 (计算计算10 个数)个数)(否则转否则转s4)s3:SUM=SUM+k (累加)累加)K=K+1(累计下一个数)累计下一个数)S4:打印打印SUM。164-14-1循环语句循环语句 int sum,k;sum=0;(累计数开始为累计数开始为0)k=1;(表示从第一个数开始)表示从第一个数开始)while(k=10)(计算计算10 个数)个数)sum=sum+k;(累加)累加)k=k+1;(累计下一个数)累计下一个数)printf(“n sum=%d”,sum
11、);17程序如下:程序如下:main()从两个例子看,一个循从两个例子看,一个循 int k,sum;环必需有三个值来控制环必需有三个值来控制sum=0;k=1;初始值,循环从那里开始初始值,循环从那里开始while(k=10)终止值,循环在那里结束终止值,循环在那里结束 sum=sum+k;sum=sum+k;k=k+1;k=k+1;控制变量必需增值控制变量必需增值printf(“%d”,sum);printf(“%d”,sum);例:计算计算 1+1+2+3+4+5+6+7+8+9+102+3+4+5+6+7+8+9+1018程序如下:程序如下:main()从两个例子看,一个循从两个例子看
12、,一个循 int k,sum;环必需有三个值来控制环必需有三个值来控制sum=0;k=1;初始值,循环从那里开始初始值,循环从那里开始while(k=10)终止值,循环在那里结束终止值,循环在那里结束 sum=sum+k*(k+1);sum=sum+k*(k+1);k=k+1;k=k+1;控制变量必需增值控制变量必需增值printf(“%d”,sum);printf(“%d”,sum);例:计算计算 1*2+1*2+2*3+3*4+.+10*112*3+3*4+.+10*11194-14-1循环语句循环语句l while while 循环循环,称为当型循环称为当型循环。其格式为:其格式为:wh
13、ile(while(条件条件)/*/*循环体循环体*/*/.当当条件条件满足时(即条件不为零),反复执满足时(即条件不为零),反复执行循环体。行循环体。20程序如下:程序如下:main()从两个例子看,一个循从两个例子看,一个循 int k,sum;环必需有三个值来控制环必需有三个值来控制sum=0;k=1;初始值,循环从初始值,循环从1开始开始while(k=99)终止值,循环在终止值,循环在99结束结束 sum=sum+k;sum=sum+k;k=k+2;k=k+2;控制变量必需增值控制变量必需增值printf(“%d”,sum);printf(“%d”,sum);例:计算计算 1 1+3
14、+5+7+9+99+3+5+7+9+9921程序如下:程序如下:main()从两个例子看,一个循从两个例子看,一个循 int k,sum;环必需有三个值来控制环必需有三个值来控制sum=0;k=2;初始值,循环从初始值,循环从2开始开始while(k=100)终止值,循环在终止值,循环在100结束结束 sum=sum+k;sum=sum+k;k=k+2;k=k+2;控制变量必需增值控制变量必需增值printf(“%d”,sum);printf(“%d”,sum);例:计算计算 2+4+6+8+10+.+1002+4+6+8+10+.+10022程序如下:程序如下:main()从两个例子看,一个
15、循从两个例子看,一个循 int k,sum,t=1;环必需有三个值来环必需有三个值来控制控制sum=0;k=2;初始值,循环从初始值,循环从2开始开始while(k=2)终止值,循环在终止值,循环在100结束结束 sum=sum+k*t;sum=sum+k*t;k=k-2;t=t*(-1);k=k-2;t=t*(-1);控制变量必需增值控制变量必需增值printf(“%d”,sum);printf(“%d”,sum);例:计算计算 2-4+6-8+10+.-1002-4+6-8+10+.-10024 main()float j,sum;sum=0;j=1;while(j=100)sum=sum
16、+1/j;j=j+1;printf(“n j=%f,sum=%f”,j,sum)计算计算 1+1/2+1/3+1/4+.+1/99+1/100 1+1/2+1/3+1/4+.+1/99+1/10025 main()float j,sum;sum=0;j=1;while(j=100)sum=sum+1/j;j=j+1;printf(“n j=%f,sum=%f”,j,sum)计算计算 1+1/2+1/3+1/4+.+1/99+1/100 1+1/2+1/3+1/4+.+1/99+1/10026 main()float j,sum;j=1;sum=0;while(j=100)sum=sum+1/j
17、;注意中间项的注意中间项的 j=j+1;计算计算 printf(“n j=%f,sum=%f”,j,sum)计算计算 1+1/2+1/3+1/4+.+1/99+1/100 1+1/2+1/3+1/4+.+1/99+1/10027 main()int t;float j,sum;j=1;sum=0;t=1;while(j=100)sum=sum+t*1/j;j=j+1;t=(-1)*t;printf(“n j=%f,sum=%f”,j,sum)计算计算 1-1/2+1/3-1/4+.+1/99-1/100 1-1/2+1/3-1/4+.+1/99-1/10028 main()int t;floa
18、t j,sum;j=1;sum=0;t=1;t中间项符号中间项符号 while(j=100)sum=sum+t*1/j;j=j+1;t=t*(-1);中间项符号改变中间项符号改变 printf(“n j=%f,sum=%f”,j,sum)计算计算 1-1/2+1/3-1/4+.+1/99-1/100 1-1/2+1/3-1/4+.+1/99-1/100294-1 4-1 whilewhile语句语句-实例实例lwhile使用使用注意注意 1.1.while(while(0 0).).由于循环的条件表达式恒由于循环的条件表达式恒等于等于0 0,循环体永远也不会执行,是编程者的,循环体永远也不会执
19、行,是编程者的错误错误。例:例:例:例:sum=0;sum=0;k=1;k=1;初始值,循环从初始值,循环从初始值,循环从初始值,循环从1 1开始开始开始开始while(0)while(0)条件为假条件为假条件为假条件为假,循环永远不会执行循环永远不会执行循环永远不会执行循环永远不会执行 sum=sum+k;sum=sum+k;k=k+2;k=k+2;304-1 4-1 whilewhile语句语句-实例实例lwhile使用使用注意注意 2.2.while(while(1 1).).由于循环的条件表达式恒由于循环的条件表达式恒等于等于1 1,所以不可能通过循环控制条件来结束循环体,所以不可能通
20、过循环控制条件来结束循环体的执行,称为的执行,称为“死循环死循环”。例:例:例:例:sum=0;sum=0;k=1;k=1;初始值,循环从初始值,循环从初始值,循环从初始值,循环从1 1开始开始开始开始while(1)while(1)条件永远为真,循环不会终止条件永远为真,循环不会终止条件永远为真,循环不会终止条件永远为真,循环不会终止 sum=sum+k;sum=sum+k;k=k+2;k=k+2;314-1 4-1 whilewhile语句语句-实例实例lwhile使用使用注意注意3.3.为了保证循环正常运行,应该特别注意:为了保证循环正常运行,应该特别注意:循环控制条件循环控制条件 控制
21、条件的初始状态(初始值)控制条件的初始状态(初始值)循环体内部对控制条件的影响循环体内部对控制条件的影响k=1;初始值,循环从那里开始初始值,循环从那里开始while(k=10)终止值,循环在那里结束终止值,循环在那里结束 sum=sum+k;sum=sum+k;k=k+1;k=k+1;控制变量必需改变控制变量必需改变324-24-2whilewhile语句语句-实例实例l例:例:分析程序的运行结果分析程序的运行结果#include include main()main()int n=0;int n=0;while(n3)while(n3)printf(”n is%dn”,n);printf(
22、”n is%dn”,n);printf(”Thats all this program printf(”Thats all this program does.n”);does.n”);结果:结果:程序将不停的打印程序将不停的打印“n is 0”,直至终止程序直至终止程序l无法正常终止的程序,称为无法正常终止的程序,称为“死循环死循环”。结论:结论:在在while语句语句循环体循环体中,一定要有能够中,一定要有能够对循环控对循环控制条件产生影响的语句制条件产生影响的语句。避免出现。避免出现“死循环死循环”现象。现象。334-14-1循环语句循环语句l do-while do-while 循环循
23、环,称为直到循环称为直到循环。其格式为:其格式为:do do /*/*循环体循环体*/*/.while(while(条件条件););当当条件条件满足时(即条件不为零),满足时(即条件不为零),反复执行上面循环体。反复执行上面循环体。34 do-while型型 while 型型 main()main()int k,sum;int k,sum;sum=0;sum=0;k=1;k=1;do while(k=7)sum=sum+k;sum=sum+k;sum=sum+k;sum=sum+k;k=k+1;k=k+1;k=k+1;k=k+1;while(k=7);while(k=7);pintf(“%d”
24、,sum);pintf(“%d”,sum);printf(“%d”,sum);printf(“%d”,sum);例:计算计算 1+1+2+3+4+5+6+72+3+4+5+6+7354-1 4-1 do-whiledo-while语句语句l例如用例如用do-while do-while 语句求语句求 n.n.程序如下:程序如下:main()main()int k,sum;int k,sum;sum=0;sum=0;k=1;k=1;初始值,循环从初始值,循环从初始值,循环从初始值,循环从1 1开始开始开始开始 do do sum=sum+k;sum=sum+k;sum=sum+k;sum=sum
25、+k;k=k+1;k=k+1;k=k+1;k=k+1;控制变量必需增值控制变量必需增值控制变量必需增值控制变量必需增值 while(k=100)while(k=100)while(k=100)while(k=100);终止值,循环在终止值,循环在终止值,循环在终止值,循环在k=100k=100结束结束结束结束 printf(“%d”,sum);printf(“%d”,sum);printf(“%d”,sum);printf(“%d”,sum);100100N=1N=1364-1 4-1 do-whiledo-while语句语句ldo-while语句特点语句特点 do-whiledo-while
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 PPT 课件 04 循环 控制
限制150内