《C语言程序设计》制作数字电子钟循环嵌套.ppt

上传人:仙人指路1688 文档编号:2209130 上传时间:2023-01-31 格式:PPT 页数:35 大小:849.50KB
返回 下载 相关 举报
《C语言程序设计》制作数字电子钟循环嵌套.ppt_第1页
第1页 / 共35页
《C语言程序设计》制作数字电子钟循环嵌套.ppt_第2页
第2页 / 共35页
《C语言程序设计》制作数字电子钟循环嵌套.ppt_第3页
第3页 / 共35页
《C语言程序设计》制作数字电子钟循环嵌套.ppt_第4页
第4页 / 共35页
《C语言程序设计》制作数字电子钟循环嵌套.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《《C语言程序设计》制作数字电子钟循环嵌套.ppt》由会员分享,可在线阅读,更多相关《《C语言程序设计》制作数字电子钟循环嵌套.ppt(35页珍藏版)》请在三一办公上搜索。

1、语言程序设计,L,制作数字电子钟循环嵌套,C语言程序设计教程(第二版)L,一、任务分析1、目标:制作实际生活中常见的显示“时、分、秒”的“数字电子钟”。如:10:11:56,任务:制作一个数字电子钟,2、程序演示,3、所需知识:顺序结构、选择结构、循环结构程序设计。,C语言程序设计教程(第二版)L,二、知识回顾,三种循环语句1、while循环2、do while循环3、for循环,任务:制作一个数字电子钟,C语言程序设计教程(第二版)L,循环结构有“当型”和“直到型”两种。1、while循环和for循环结构都是“当型”循环(先判断,后循环),也就是说先判断条件满足与否,决定是否继续循环,如果一

2、开始条件就不成立,则循环一次也不被执行。2、do while是“直到型”循环(先循环,后判断)。不管循环条件满足与否,do while循环中的循环体至少被执行一次。,二、知识回顾,任务:制作一个数字电子钟,C语言程序设计教程(第二版)L,二、知识回顾,在屏幕上显示数字059的变化for语句的实现如下:for(s=0;s=59;s+)printf(%2d,s);,程序演示,任务一:制作一个数字电子钟,3、for循环结构是C语言中功能最强大、使用最多的循环语句。使用灵活,形式多样。,C语言程序设计教程(第二版)L,第4章 循环结构程序设计,二、知识回顾:,C语言程序设计教程(第二版)L,存在两个问

3、题:1、数字“0-59”以滚动卷屏方式显示。2、显示速度太快,要能以实际一秒时间显示一个数。,三、导入新课,任务:制作一个数字电子钟,C语言程序设计教程(第二版)L,第一个问题的解决办法,可以使用gotoxy(x,y)函数定位数字显示位置,其中x为屏幕列号、y为屏幕行号。也可以在每显示一次数字后调用清屏函数clrscr()(或system(“cls”);)。clrscr()、gotoxy()两个函数都包含在conio.h中,所以要在程序开头使用文件包含命令将它们包含进来:#include“conio.h,三、导入新课,任务:制作一个数字电子钟,C语言程序设计教程(第二版)L,程序如下:#inc

4、lude Conio.hint main(void)int s;for(s=0;s=59;s+)gotoxy(35,12);printf(n%2d,s);getch();return 0;,三、导入新课,任务:制作一个数字电子钟,C语言程序设计教程(第二版)L,第二个问题,是由于计算机的运行速度很快,每秒的显示时间要比实际生活中的一秒时间要短得多。因此,需要在程序中每显示一秒后都设置一个时间延迟,时间延迟用方法空循环结构实现,它的位置在循环内屏幕每显示一个数值后。for(s=0;s=59;s+)printf(%2d,s);for(i=1;i=200000000;i+);这就是一个循环嵌套(二层

5、)结构。,三、导入新课,延时循环条件需调试终值以符合实际,任务:制作一个数字电子钟,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亿次,C语言程序设计教程(第二版)L,第4章 循环结构程序设计,三、导入新课,程序演示,思考:显示059后程序还会重复运行吗,C语言程序设计教程(第二版

6、)L,实训环境:Win-TC或TC注意:1)调试程序时要注意观察程序出错情况;2)200000000是一个参考值,数据改为100000000后再次运行程序,观察运行结果;根据计算机运行速度调整循环变量i的终值,尽量与实际运转时间一致。,上机实训1:上机编辑源程序,模拟秒的变化,在屏幕固定位置显示数字059的变化过程。调试运行程序。,任务:制作一个数字电子钟,C语言程序设计教程(第二版)L,本节课知识点:循环嵌套多种循环是本课程重点,也是难点。,三、导入新课,任务:制作一个数字电子钟,C语言程序设计教程(第二版)L,一个循环体内又包含另一个完整的循环结构称为循环嵌套,而包含多层循环的循环结构称为

7、多重循环。while、do while和for三种循环都可以进行嵌套。注意,循环嵌套只能是包含关系,不能发生交叉。,四、循环嵌套概念,任务:制作一个数字电子钟,C语言程序设计教程(第二版)L,五、算法分析1、变量设置 设小时变量为h、分钟变量为m、秒变量为s,因为这些变量的数据值均为小于60的整数,所以定义它们为整型。用于延时控制的变量数据值较大,超出整型整形范围,所以变量i定义为长整型。,任务:制作一个数字电子钟,C语言程序设计教程(第二版)L,五、算法分析2、程序结构“数字电子钟”是一个典型的循环嵌套问题,先考虑只有分、秒的时钟。最里层的循环用于延时,中间层循环控制秒从059的变化,外层循

8、环控制分钟从059的变化。嵌套结构如下:for(m=0;m=59;m+)for(s=0;s=59;s+)printf(%2d:%2d,m,s);for(i=1;i=200000000;i+);,任务:制作一个数字电子钟,C语言程序设计教程(第二版)L,五、算法分析再考虑小时从023的变化情形,最外层再套上一个循环,控制小时从023。则四层嵌套结构如下:for(h=0;h=23;h+)for(m=0;m=59;m+)for(s=0;s=59;s+)printf(n%2d:%2d:%2d,h,m,s);for(i=1;i=200000000;i+);,任务:制作一个数字电子钟,C语言程序设计教程(

9、第二版)L,main()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+);,六、源程序,任务:制作一个数字电子钟,C语言程序设计教程(第二版)L,上机实训2:1)调试程序时要注意观察程序运行情况,再次调整空循环变量i的终值,尽量与实际运转时间一致。计算机运行速度越快,则这个数值越大。2)请将变量i类型修改为整形后运行程序,观察运行结果。,任务:制作一个数字电子钟,C语言程序设计教程(第二

10、版)L,前面的程序每次运行都从0点0分0秒开始,不能从当前实际时间开始运行。解决问题的办法可以在程序第一次循环开始时输入一次当前实际时间。为了只在开始运行时设置一次初始时间,可以引入一个逻辑变量first,其初始值为0,输入初始时间后,将其值置为非0。在后面程序运行中,通过if语句控制不再需要输入初始时间。,七、源程序提高与扩展之一,任务:制作一个数字电子钟,C语言程序设计教程(第二版)L,for(s=0;s=59;s+)if(first=0)printf(n输入当前时间:);scanf(%d:%d:%d,七、源程序提高与扩展之一,任务:制作一个数字电子钟,C语言程序设计教程(第二版)L,完整

11、程序如下:#include main()int h,m,s,first=0;long i;for(h=0;h=23;h+)for(m=0;m=59;m+)for(s=0;s=59;s+)if(first=0)printf(n Enter Current Time,Please:);scanf(%d:%d:%d,任务:制作一个数字电子钟,C语言程序设计教程(第二版)L,现在给同学们提供一个存在几个小问题的本任务源代码(time.c),请调试并找出错误后,运行本程序。说明:本程序需运行24小时才能结束,如果要停止程序运行,可以按Ctrl-C或连续按两次Ctrl-Break强制中断程序运行。,八、上

12、机实训3,任务:制作一个数字电子钟,C语言程序设计教程(第二版)L,本程序只能运行24小时,请同学们将程序进一步改进,使它能显示年、月、日、星期、时、分、秒等数据的电子钟。,九、源程序提高与扩展之二思考和作业,任务:制作一个数字电子钟,C语言程序设计教程(第二版)L,“九九乘法表”是一个典型的循环嵌套问题,外循环变量i控制行的变化,共9行,所以外循环需循环9次。由于每行有9次乘法运算,所以外循环每执行一次,内循环每次都是用i乘以19,即内循环每行也都需要执行9次。,练习:输出“九九乘法表”,任务分析1、任务目标:编程输出“九九乘法表”。,2、程序演示,C语言程序设计教程(第二版)L,练习:输出

13、“九九乘法表”,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);,练习:输出“九九乘法表”,C语言程序设计教程(第二版)L,内层循环执行的次数等于该循环嵌套结构中每一层循环次数的乘积。本例外循环循环9次,内循环也为9次,则内循环执行总次数为99=81次。思考:本程序输出结果为矩形,其中近一半的计算和显示是重复。请同学们修改程序,实现以三角形形式输出结果,提高算法效率。输出形式如下:1*1=11*2=2 2*2=41*3=3 2*3=6 3

14、*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,练习:输出“九九乘法表”,C语言程序设计教程(第二版)L,编写程序,以

15、三角形形式输出“九九乘法表”,并上机调试通过。,上机实训4,练习:输出“九九乘法表”,C语言程序设计教程(第二版)L,小结,1、循环嵌套(多种循环),它是本课程重点,也是难点。2、多重循环中,外循环变化慢,内循环变化快,外循环一次,内循环就要循环n次。如秒变化60次,则分钟变化(增加)1次,然后秒重新从0到59变化;分钟变化60次,则小时变化(增加)1次。本程序中,延时控制变量i变化次数最多。,C语言程序设计教程(第二版)L,小结,3、循环嵌套在实际应用中非常广泛,必须掌握。4、屏幕清屏或让数据在固定位置显示,可以使用clrscr()、gotoxy()两个函数,它们都包含在conio.h中,需要使用文件包含命令将它们包含进来:#include“conio.h“5、延时问题,可以通过空循环解决。,C语言程序设计教程(第二版)L,小结,6、循环嵌套中要解决诸如程序第一次循环开始时输入一个初始值(当前实际时间)问题,在实际应用中非常广泛,必须学会并灵活掌握。7、定义变量类型应注意的问题,如本程序实训时提供的代码变量i为整形,程序虽能通过编译并运行,但运行结果会出错,时钟显示将会停顿在某个时间不再继续。,C语言程序设计教程(第二版)L,作业,P105一、选择题6-8,15-16二、填空题7-19三、判断题3-10四、编程5,6,L,Question?Thank You!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号