《循环结构》课件.ppt_第1页
《循环结构》课件.ppt_第2页
《循环结构》课件.ppt_第3页
《循环结构》课件.ppt_第4页
《循环结构》课件.ppt_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C程序设计|第三章,循环结构,第三章,C程序设计|第三章,什么是循环结构?循环语句练习和综合设计,本讲主要内容,C程序设计|第三章,循环结构是通过对条件的判断来重复执行某些程序语句或程序段,C语言中是用for语句或while语句或dowhile语句来构成循环结构的。循环结构的主要功能是重复执行某些语句或某段程序。,循环结构,C程序设计|第三章,问题:在唱歌等大奖赛评分时,一般要有若干名评委,记分规则为:去掉一个最高分,去掉一个最低分,再算平均分。设按百分制计分,试设计一个算分程序。,用循环来累计总得分,引例,程序,C程序设计|第三章,语句形式:for(表达式1;表达式2;表达式3)语句;,for语句,C程序设计|第三章,例从键盘上输入张三同学五门课程的成绩67、92、78、83、75,计算出平均成绩并输出。#includemain()inti,sum,score;sum=0;for(i=1;i=5;i+)scanf(%d,第i次循环i=5的值sum的值1真0+672真67+923真159+784真237+835真320+756假结束循环,for语句举例,C程序设计|第三章,例从键盘上输入一个大于2的整数n,判断n是不是素数。只能被1和它本身整除的整数称为素数。在数学中,要判断n是否为素数,通常让n除以2到n的平方根之间的每一个整数,如果n能被2到n的平方根之间的某个整数整除,则说明n不是素数,否则n一定是素数。,for语句举例,程序,C程序设计|第三章,省略表达式1i=1;for(;i=10;i+)sum=sum+i;,for语句的任何一个表达式都可以省,但不能省略分号。例如:,省略表达式3for(i=1;i=10;)sum=sum+i;i+;,省略表达式2时,循环将变成死循环,for语句中可应用逗号表达式,使两个或多个控制变量同时控制循环for(i=0,j=10;i=3000)count=100;在循环体外的语句不受循环的控制,在循环体内的语句受循环的控制。,使用for语句应注意的问题,C程序设计|第三章,语句形式:while(表达式)语句;,执行过程:先计算表达式的值,当表达式的值为非0时执行语句;为0时执行循环的后继,while语句,C程序设计|第三章,例从键盘上输入张三同学五门课程的成绩67、92、78、83、75,计算出平均成绩并输出。对下面的程序进行修改,用while代替for#include/*例3.1的程序*/main()inti,sum,score;sum=0;for(i=1;i=5;i+)scanf(%d,while语句举例,C程序设计|第三章,例计算1至20之间的奇数之和及偶数之和。说明:判断一个数n是否为偶数的常用方法为:n%2=0。判断一个数n是否为某个数的倍数的常用方法为:n%某个数=0,如n%5=0可用于判断n是否为5的倍数。,程序,while语句举例,C程序设计|第三章,例:求n的值main()intn,sum=0;n=1;while(n=10)sum=sum+n;n+;printf(1-10的累加和为%d,sum);,问题:1.语句n=1;能放在循环体内吗?2.语句n=10中的等号能去掉吗?3.语句n+能去掉或放在循环外吗?4.如要求1到10的累乘应怎样修改程序?,如何修改程序可求2+4+6+10的值,先判断后执行循环体,使用while语句应注意的问题,C程序设计|第三章,语句形式:do语句;while(表达式);,执行过程:先执行语句,后判断条件。表达式的值为非0时,继续执行语句;表达式的值为0时,执行循环的后继。,Do-while语句,C程序设计|第三章,例求1!+2!+3!+4!+20!的值。main()floatn=1,sum=0,t=1;dot=t*n;sum=sum+t;n+;while(n=20);printf(1!+2!+3!+20!=%en,sum);,第n次循环t的值sum的值n=20的值11!0+1!真(n=2)22!1+2!真(n=3)33!3+3!真(n=4)44!9+4!真(n=5)55!33+5!真(n=6)2020!假(n=21)结束循环,Do-while语句举例,C程序设计|第三章,在循环体内又包含另一个完整的循环结构称为循环嵌套。内层循环中再包含其它循环结构,称为多重循环嵌套。,C语言中的三种循环语句(for、while、dowhile)可以互相嵌套,构成所需的多重循环结构,循环嵌套时,内层循环必须被完全包含于外层循环内,不允许循环结构交叉。,循环嵌套,C程序设计|第三章,例3.10打印由星号组成的5行5列的矩形*以下循环语句可在同一行上输出五个星号:for(j=1;j=5;j+)printf(*);若让该循环语句执行五次,且每执行一次输出一个换行,就可以输出五行五列星号,双重循环的执行过程如下:i=1时,j=1,2,3,4,5,输出5个*并换行i=2时,j=1,2,3,4,5,输出5个*并换行i=3时,j=1,2,3,4,5,输出5个*并换行i=4时,j=1,2,3,4,5,输出5个*并换行i=5时,j=1,2,3,4,5,输出5个*并换行,for(i=1;i=5;i+)for(j=1;j=5;j+)printf(*);printf(n);,多重循环的执行过程为:外循环跨一步,内循环转一圈,循环嵌套举例,C程序设计|第三章,for(i=1;i=5;i+)for(j=1;j=5;j+)printf(*);printf(n);,要打印如下图形应如何修改下面的双重循环:*,循环嵌套举例,要求:在VC+6.0环境下,通过师生互动的形式完成该题的编程,C程序设计|第三章,语句形式:break;,执行过程:终止switch语句或循环语句的执行,跳出当前break所在的控制结构,转去执行后继语句。,doublee=1.0,u=1.0;intn;for(n=1;n=20;n+)u=u/n;e=e+u;if(u9|ch0)continue;count+;printf(count=%dn,count);在while和do-while循环结构中,continue立即转去检查循环控制表达式,在for循环结构中,则立即转向计算表达式3,对循环控制变量增量或减量。,continue语句,C程序设计|第三章,例:本例模拟了一个物体的自由落体过程。从“高空”释放一个物体,它在下降的过程中速度会越来越快,落地反弹后在上升的过程中它的速度会越来越慢。图3-14显示某一时刻物体所处的位置。,程序,综合设计,C程序设计|第三章,语句while(!E);中的表达式!E等价于A)E=0B)E!=1C)E!=0D)E=1下面程序段的运行结果是_。a=1;b=2;c=2;while(abc)t=a;a=b;b=t;c-;printf(%d,%d,%d,a,b,c);A)1,2,0B)2,1,0C)1,2,1D)2,1,1下面程序段的运行结果是_。x=y=0;while(x10,习题(填空题),C程序设计|第三章,本章详细介绍了循环结构。循环结构包括for、while、dowhile三个循环语句。三种循环可以用来处理同一问题,一般情况下它们可互相代替,但设置的表达式条件会有所不同。读

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论