欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言程序设计循环嵌套.pptx

    • 资源ID:87573653       资源大小:374.70KB        全文页数:35页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言程序设计循环嵌套.pptx

    C语言程序设计教程(第二版)L一、任务分析一、任务分析1、目标:、目标:制作实际生活中常见的显示制作实际生活中常见的显示“时、分、秒时、分、秒”的的“数字电子钟数字电子钟”。如:。如:10:11:56任务:制作一个数字电子钟任务:制作一个数字电子钟 2、程序程序演示演示3、所需知识:、所需知识:顺序结构、选择结构、循环结构程序设计。顺序结构、选择结构、循环结构程序设计。第1页/共35页C语言程序设计教程(第二版)L二、知识回顾二、知识回顾三种循环语句三种循环语句1、while循环循环2、do while循环循环3、for循环循环任务:制作一个数字电子钟任务:制作一个数字电子钟 第2页/共35页C语言程序设计教程(第二版)L循环结构有循环结构有“当型当型”和和“直到型直到型”两种。两种。1 1、whilewhile循循环环和和forfor循循环环结结构构都都是是“当当型型”循循环环(先先判判断断,后后循循环环),也也就就是是说说先先判判断断条条件件满满足足与与否否,决决定定是是否否继继续续循循环环,如如果果一一开开始始条条件件就就不不成成立,则循环一次也不被执行。立,则循环一次也不被执行。2 2、do do whilewhile是是“直直到到型型”循循环环(先先循循环环,后后判判断断)。不不管管循循环环条条件件满满足足与与否否,do do whilewhile循循环环中中的循环体至少被执行一次。的循环体至少被执行一次。二、知识回顾二、知识回顾任务:制作一个数字电子钟任务:制作一个数字电子钟 第3页/共35页C语言程序设计教程(第二版)L二、知识回顾二、知识回顾在屏幕上显示数字在屏幕上显示数字059的变化的变化for语句的实现如下:语句的实现如下:for(s=0;s=59;s+)printf(%2d,s);程序程序演示演示任务一:制作一个数字电子钟任务一:制作一个数字电子钟 3 3、forfor循循环环结结构构是是C C语语言言中中功功能能最最强强大大、使使用最多的循环语句。使用灵活,形式多样。用最多的循环语句。使用灵活,形式多样。第4页/共35页C语言程序设计教程(第二版)L第第4章章 循环结构程序设计循环结构程序设计二、知识回顾二、知识回顾:第5页/共35页C语言程序设计教程(第二版)L存在两个问题:存在两个问题:1、数字、数字“0-59”以滚动卷屏方式显示。以滚动卷屏方式显示。2、显示速度太快,要能以实际一秒时间显示一个数。、显示速度太快,要能以实际一秒时间显示一个数。三、导入新课三、导入新课任务:制作一个数字电子钟任务:制作一个数字电子钟 第6页/共35页C语言程序设计教程(第二版)L第一个问题的解决办法,可以使用第一个问题的解决办法,可以使用gotoxy(x,y)函数定位数字显示位置,函数定位数字显示位置,其中其中x为屏幕列号、为屏幕列号、y为屏幕行号。为屏幕行号。也可以在每显示一次数字后调用清屏函数也可以在每显示一次数字后调用清屏函数clrscr()(或(或system(“cls”);)。clrscr()、gotoxy()两个函数都包含在两个函数都包含在conio.h中,所以要在程序开头中,所以要在程序开头使用文件包含命令将它们包含进来:使用文件包含命令将它们包含进来:#include“conio.h三、导入新课三、导入新课任务:制作一个数字电子钟任务:制作一个数字电子钟 第7页/共35页C语言程序设计教程(第二版)L程序如下:程序如下:#include Conio.hint main(void)int s;for(s=0;s=59;s+)gotoxy(35,12);printf(n%2d,s);getch();return 0;三、导入新课三、导入新课任务:制作一个数字电子钟任务:制作一个数字电子钟 第8页/共35页C语言程序设计教程(第二版)L第二个问题,是由于计算机的运行速度第二个问题,是由于计算机的运行速度很快,每秒的显示时间要比实际生活中的一秒很快,每秒的显示时间要比实际生活中的一秒时间要短得多。因此,需要在程序中每显示一时间要短得多。因此,需要在程序中每显示一秒后都设置一个时间延迟,时间延迟用方法空秒后都设置一个时间延迟,时间延迟用方法空循环结构实现,它的位置在循环内屏幕每显示循环结构实现,它的位置在循环内屏幕每显示一个数值后。一个数值后。for(s=0;s=59;s+)printf(%2d,s);for(i=1;i=200000000;i+);这就是一个循环嵌套(二层)结构。这就是一个循环嵌套(二层)结构。三、导入新课三、导入新课延时循环条件需延时循环条件需延时循环条件需延时循环条件需调试终值以符合调试终值以符合调试终值以符合调试终值以符合实际实际实际实际任务:制作一个数字电子钟任务:制作一个数字电子钟 第9页/共35页C语言程序设计教程(第二版)L程序如下:程序如下:#include“conio.hint main(void)int s;long i;for(s=0;s=59;s+)gotoxy(35,12);printf(%2d,s);for(i=1;i=200000000;i+);getch();return 0;三、导入新课三、导入新课任务:制作一个数字电子钟任务:制作一个数字电子钟 定位显示定位显示定位显示定位显示延时,空循环延时,空循环延时,空循环延时,空循环2 2亿次亿次亿次亿次第10页/共35页C语言程序设计教程(第二版)L第第4章章 循环结构程序设计循环结构程序设计三、导入新课三、导入新课程序程序演示演示思考:显示思考:显示思考:显示思考:显示0 0 0 059595959后后后后程序还会重复运行吗程序还会重复运行吗程序还会重复运行吗程序还会重复运行吗第11页/共35页C语言程序设计教程(第二版)L实训环境:实训环境:Win-TC或或TC注意:注意:1)调试程序时要注意观察程序出错情况;)调试程序时要注意观察程序出错情况;2)200000000是一个参考值,数据改是一个参考值,数据改为为100000000后再次运行程序,观察运行结果;后再次运行程序,观察运行结果;根据计算机运行速度调整循环变量根据计算机运行速度调整循环变量i的终值,尽的终值,尽量与实际运转时间一致。量与实际运转时间一致。上机实训上机实训1:上机编辑源程序,模拟秒的变化,在屏上机编辑源程序,模拟秒的变化,在屏幕固定位置显示数字幕固定位置显示数字059的变化过程。调试的变化过程。调试运行程序。运行程序。任务:制作一个数字电子钟任务:制作一个数字电子钟 第12页/共35页C语言程序设计教程(第二版)L本节课知识点:本节课知识点:循环嵌套多种循环循环嵌套多种循环是本课程重点,也是难点。是本课程重点,也是难点。三、导入新课三、导入新课任务:制作一个数字电子钟任务:制作一个数字电子钟 第13页/共35页C语言程序设计教程(第二版)L一个循环体内又包含另一个完整的循环结一个循环体内又包含另一个完整的循环结构称为循环嵌套,而包含多层循环的循环结构构称为循环嵌套,而包含多层循环的循环结构称为多重循环。称为多重循环。whilewhile、do whiledo while和和forfor三种循三种循环都可以进行嵌套。注意,循环嵌套只能是包环都可以进行嵌套。注意,循环嵌套只能是包含关系,不能发生交叉。含关系,不能发生交叉。四、四、循环嵌套循环嵌套概念概念任务:制作一个数字电子钟任务:制作一个数字电子钟 第14页/共35页C语言程序设计教程(第二版)L五、算法分析五、算法分析1 1、变量设置、变量设置 设设小小时时变变量量为为h h、分分钟钟变变量量为为m m、秒秒变变量量为为s s,因因为为这这些些变变量量的的数数据据值值均均为为小小于于6060的的整整数数,所所以以定定义义它它们们为为整整型。型。用用于于延延时时控控制制的的变变量量数数据据值值较较大大,超超出出整整型型整整形形范范围围,所所以以变变量量i i定定义义为为长整型。长整型。任务:制作一个数字电子钟任务:制作一个数字电子钟 第15页/共35页C语言程序设计教程(第二版)L五、算法分析五、算法分析2 2、程序结构、程序结构 “数数字字电电子子钟钟”是是一一个个典典型型的的循循环环嵌嵌套套问问题题,先先考考虑虑只只有有分分、秒秒的的时时钟钟。最最里里层层的的循循环环用用于于延延时时,中中间间层层循循环环控控制制秒秒从从0 05959的的变变化化,外外层层循循环环控控制制分分钟钟从从0 05959的变化。嵌套结构如下:的变化。嵌套结构如下:for(m=0;m=59;m+)for(m=0;m=59;m+)for(s=0;s=59;s+)for(s=0;s=59;s+)printf(%2d:%2d,m,s);printf(%2d:%2d,m,s);for for(i=1;i=200000000;i+);(i=1;i=200000000;i+);任务:制作一个数字电子钟任务:制作一个数字电子钟 第16页/共35页C语言程序设计教程(第二版)L五、算法分析五、算法分析再再考考虑虑小小时时从从0 02323的的变变化化情情形形,最最外外层层再再套套上上一一个个循循环环,控控制制小小时时从从0 02323。则四层嵌套结构如下:。则四层嵌套结构如下:for(h=0;h=23;h+)for(h=0;h=23;h+)for(m=0;m=59;m+)for(m=0;m=59;m+)for(s=0;s=59;s+)for(s=0;s=59;s+)printf(n%2d:%2d:%2d,h,m,s);printf(n%2d:%2d:%2d,h,m,s);for for(i=1;i=200000000;i+);(i=1;i=200000000;i+);任务:制作一个数字电子钟任务:制作一个数字电子钟 第17页/共35页C语言程序设计教程(第二版)Lmain()int h,m,s;long i;for(h=0;h=23;h+)for(m=0;m=59;m+)for(s=0;s=59;s+)gotoxy(35,12);printf(n%2d:%2d:%2d,h,m,s);for(i=1;i=200000000;i+);六、六、源程序源程序任务:制作一个数字电子钟任务:制作一个数字电子钟 第18页/共35页C语言程序设计教程(第二版)L上机实训上机实训2:1)调试程序时要注意观察程序运行调试程序时要注意观察程序运行情况,再次调整空循环变量情况,再次调整空循环变量i的终值,尽的终值,尽量与实际运转时间一致。计算机运行速量与实际运转时间一致。计算机运行速度越快,则这个数值越大。度越快,则这个数值越大。2)请将变量)请将变量i类型修改为整形后运类型修改为整形后运行程序,观察运行结果。行程序,观察运行结果。任务:制作一个数字电子钟任务:制作一个数字电子钟 第19页/共35页C语言程序设计教程(第二版)L前前面面的的程程序序每每次次运运行行都都从从0 0点点0 0分分0 0秒秒开开始始,不不能能从从当当前前实实际际时时间间开开始运行。始运行。解解决决问问题题的的办办法法可可以以在在程程序序第第一一次次循循环环开开始始时时输输入入一一次次当当前前实实际际时时间间。为为了了只只在在开开始始运运行行时时设设置置一一次次初初始始时时间间,可可以以引引入入一一个个逻逻辑辑变变量量firstfirst,其其初初始始值值为为0 0 ,输输入入初初始始时时间间后后,将将其其值值置置为为非非0 0。在在后后面面程程序序运运行行中中,通通过过ifif语句控制不再需要输入初始时间。语句控制不再需要输入初始时间。七、七、源程序提高与扩展之一源程序提高与扩展之一任务:制作一个数字电子钟任务:制作一个数字电子钟 第20页/共35页C语言程序设计教程(第二版)Lfor(s=0;s=59;s+)if(first=0)printf(n输入当前时间输入当前时间:);scanf(%d:%d:%d,&h,&m,&s);first=2;else gotoxy(35,12);printf(%2d:%2d:%2d,h,m,s);for(i=1;i=200000000;i+);七、七、源程序提高与扩展之一源程序提高与扩展之一任务:制作一个数字电子钟任务:制作一个数字电子钟 第21页/共35页C语言程序设计教程(第二版)L完整完整程序如下:程序如下:#include include main()main()int h,m,s,first=0;long i;int h,m,s,first=0;long i;for(h=0;h=23;h+)for(h=0;h=23;h+)for(m=0;m=59;m+)for(m=0;m=59;m+)for(s=0;s=59;s+)for(s=0;s=59;s+)if(first=0)if(first=0)printf(n Enter Current Time,Please printf(n Enter Current Time,Please:);:);scanf(%d:%d:%d,&h,&m,&s);first=2;scanf(%d:%d:%d,&h,&m,&s);first=2;elseelse gotoxy(35,12);printf(%2d:%2d:%2d,h,m,s);gotoxy(35,12);printf(%2d:%2d:%2d,h,m,s);for(i=1;i=200000000;i+);for(i=1;i=200000000;i+);任务:制作一个数字电子钟任务:制作一个数字电子钟 第22页/共35页C语言程序设计教程(第二版)L现在给同学们提供一个存在几个小问题的本任务源代码(现在给同学们提供一个存在几个小问题的本任务源代码(time.c),),请调试并找出错误后,运行本程序。请调试并找出错误后,运行本程序。说明:说明:本程序需运行24小时才能结束,如果要停止程序运行,可以按Ctrl-C或连续按两次Ctrl-Break强制中断程序运行。八、上机实训八、上机实训3任务:制作一个数字电子钟任务:制作一个数字电子钟 第23页/共35页C语言程序设计教程(第二版)L 本本程程序序只只能能运运行行2424小小时时,请请同同学学们们将将程程序序进进一一步步改改进进,使使它它能能显显示示年年、月月、日日、星期、时、分、秒等数据的电子钟。星期、时、分、秒等数据的电子钟。九、九、源程序提高与扩展之二源程序提高与扩展之二思考和作业思考和作业任务:制作一个数字电子钟任务:制作一个数字电子钟 第24页/共35页C语言程序设计教程(第二版)L “九九九九乘乘法法表表”是是一一个个典典型型的的循循环环嵌嵌套套问问题题,外外循循环环变变量量i控控制制行行的的变变化化,共共9行行,所所以以外外循循环环需需循循环环9次次。由由于于每每行行有有9次次乘乘法法运运算算,所所以以外外循循环环每每执执行行一一次次,内内循循环环每每次次都都是是用用i乘乘以以19,即即内内循循环环每每行行也也都都需需要要执行执行9次。次。练习:练习:输出输出“九九乘法表九九乘法表”任务分析任务分析1、任务目标:、任务目标:编程输出编程输出“九九乘法表九九乘法表”。2、程序程序演示演示第25页/共35页C语言程序设计教程(第二版)L练习:练习:输出输出“九九乘法表九九乘法表”第26页/共35页C语言程序设计教程(第二版)L程序如下:程序如下:main()int i,j;for(i=1;i=9;i+)for(j=1;j=9;j+)printf(%1d*%1d=%2d ,j,i,i*j);printf(n);练习:练习:输出输出“九九乘法表九九乘法表”第27页/共35页C语言程序设计教程(第二版)L 内层循环执行的次数等于该循环嵌套结构中每一层循环次数的乘积。本例外循环循环9次,内循环也为9次,则内循环执行总次数为99=81次。思思考考:本程序输出结果为矩形,其中近一半的计算和显示是重复。请同学们修改程序,实现以三角形形式输出结果,提高算法效率。输出形式如下:1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=491*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=641*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 练习:练习:输出输出“九九乘法表九九乘法表”第28页/共35页C语言程序设计教程(第二版)L编写程序,以三角形形式输出编写程序,以三角形形式输出“九九乘法表九九乘法表”,并上机调试通过。,并上机调试通过。上机实训上机实训4练习:练习:输出输出“九九乘法表九九乘法表”第29页/共35页C语言程序设计教程(第二版)L小结小结 1 1、循环嵌套(多种循环),它是本、循环嵌套(多种循环),它是本课程重点,也是难点。课程重点,也是难点。2 2、多重循环中,外循环变化慢,内、多重循环中,外循环变化慢,内循环变化快,外循环一次,内循环就要循循环变化快,外循环一次,内循环就要循环环n n次。次。如秒变化如秒变化6060次,则分钟变化(增加)次,则分钟变化(增加)1 1次,然后秒重新从次,然后秒重新从0 0到到5959变化;分钟变化变化;分钟变化6060次,则小时变化(增加)次,则小时变化(增加)1 1次。本程序次。本程序中,延时控制变量中,延时控制变量i i变化次数最多。变化次数最多。第30页/共35页C语言程序设计教程(第二版)L小结小结 3、循环嵌套在实际应用中非常广泛,、循环嵌套在实际应用中非常广泛,必须掌握。必须掌握。4 4、屏幕清屏或让数据在固定位置显、屏幕清屏或让数据在固定位置显示,可以使用示,可以使用clrscr()、gotoxy()两个函数,两个函数,它们都包含在它们都包含在conio.h中,需要使用文件中,需要使用文件包含命令将它们包含进来:包含命令将它们包含进来:#include“conio.h“5、延时问题,可以通过空循环解决。、延时问题,可以通过空循环解决。第31页/共35页C语言程序设计教程(第二版)L小结小结 6、循环嵌套中要解决诸如程序第一、循环嵌套中要解决诸如程序第一次循环开始时输入一个初始值(当前实际次循环开始时输入一个初始值(当前实际时间)问题,在实际应用中非常广泛,必时间)问题,在实际应用中非常广泛,必须学会并灵活掌握。须学会并灵活掌握。7 7、定义变量类型应注意的问题,如、定义变量类型应注意的问题,如本程序实训时提供的代码变量本程序实训时提供的代码变量i i为整形,为整形,程序虽能通过编译并运行,但运行结果会程序虽能通过编译并运行,但运行结果会出错,时钟显示将会停顿在某个时间不再出错,时钟显示将会停顿在某个时间不再继续。继续。第32页/共35页C语言程序设计教程(第二版)L作业作业 P105P105一、选择题一、选择题6-86-8,15-1615-16二、填空题二、填空题7-197-19三、判断题三、判断题3-103-10四、编程四、编程5 5,6 6第33页/共35页L第34页/共35页C语言程序设计教程(第二版)L谢谢您的观看!第35页/共35页

    注意事项

    本文(C语言程序设计循环嵌套.pptx)为本站会员(莉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开