4.4多重循环(循环的嵌套)(教案) -《C语言程序设计》同步教学(高教版)

2024-11-09
| 4页
| 154人阅读
| 0人下载
普通

内容正文:

技能,让生活更美好 模块四任务四《多重循环(循环的嵌套)》 教学内容 break和continue语句 课时 1 教学目标 知识目标 1.了解continue语句的一般形式和使用方法 2.理解continue语句和break语句的区别 能力目标 1.会在循环中使用continue语句 2.能够灵活使用continue语句和break语句 情 思政目标 提高学生的审美能力、自主思考与学习能力,培养工匠精神。 教学重点 1.continue语句的一般形式和使用方法 2.continue语句和break语句的区别 教学难点 理解break语句和continue语句执行过程 教学方法 教法:讲授法、任务驱动教学法、线上+线下混合式教学 教学准备 1. 计算机、投影仪 2.下发学习任务清单。 教学过程 教学环节 主要内容 教学活动 教 师 学 生 课前 准备上课案例 准备机房 准备上课 导入新课 问题:输出一个由数字8组成的平行四边形,如何实现? 启发引导 展示课前自主探究内容,明确教学目标 观看、聆听、思考, 新授过程 回顾:循环结构有“当型”和“直到型”两种。   1、while循环和for循环结构都是“当型”循环(先判断,后循环),也就是说先判断条件满足与否,决定是否继续循环,如果一开始条件就不成立,则循环一次也不被执行。 2、do while是“直到型”循环(先循环,后判断)。不管循环条件满足与否,do while循环中的循环体至少被执行一次。 一、什么是嵌套循环 一个循环体内又包含另一个完整的循环结构称为循环嵌套,而包含多层循环的循环结构称为多重循环。while、do while和for三种循环都可以进行嵌套。注意,循环嵌套只能是包含关系,不能发生交叉。while、do_while、for可以相互嵌套,自由组合。 打印九九乘法表: main( ) { int i, j; for(i=1; i<10; i++) printf ( "%8d", i ); printf (" ---------------------------------" ); printf ("----------------------------------- " ); for ( i = 1; i < 10; i++ ) { for ( j = 1; j <= i; j++ ) printf ( " %2d * %d = % -3d ", i, j , i*j ); printf ( " " ); // 换行 } getch ( ); } 格式符“%8d”的作用是使输出的 每个数据占8个字符位置,右对齐; “%-3d”表示占3列,左对齐。 另例:小时从0-23的变化情形,最外层再套上一个循环,控制小时从0~23。则四层嵌套结构如下:    for (h=0;h<=23;h++)     for(m=0;m<=59;m++)      for(s=0;s<=59;s++)       { printf(" %2d:%2d:%2d",h,m,s); for (i=1;i<=200000000;i++);        } 二、break语句和continue语句 break语句 格式:break; 功能:该语句可以使程序运行时中途跳出循环体,即强制结束循环,接着执行循环下面的语句。 例4.6 求圆的面积。 [分析] 计算r=1到r=10的圆面积,直到s>100为止,当s>100时,执行break语句,提前终止循环,即不再继续执行其余的几次循环。 #define PI 3.1415926 main ( ) { int r;float s; for (r=1;r<=10;r++) { s=PI*r*r; if (s>100) break;} printf ("s=%f",s); } [说明] (1)break语句不能用于循环语句和switch语句之外的任何语句。 (2)在多重循环的情况下,break语句只能跳出一层循环,即从当前循环中跳出。 continue语句 格式:continue; 功能:结束本次循环,即跳出循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。 continue语句和break语句的区别是:continue语句只是结束本次循环,而不终止整个循环的执行;而break语句则是强制终止整个循环过程。 例4.7 打印出数字0~10,但跳过(即不输出)数字7。 main ( ) { int i; for (i=0;i<=10;i++) { if (i= =7) continue; printf ("%5d",i); } } 程序运行结果为: 0 1 2 3 4 5 6 8 9 10 [说明](1)当i等于7时执行continue语句,它的作用是终止本次循环,即跳过printf语句,故不输出7。 (2)如果程序中不用continue语句,循环体也可以改用一个语句处理:if (i!=7) printf ("%5d",i); (3)如果在本例中将第7行“continue;”语句,改为“break;”语句,则输出结果为: 0 1 2 3 4 5 6 可以清楚地看出break语句是终止整个循环过程,它与continue语句作用是截然不同的。 复习回顾 讲解新内容 展示结果,问题:如何实现? 检查学生自主学习情况,引入后面要学习的内容。 为学生讲解语句的执行过程. 为学生讲解语句的执行过程。 教师指出学生所犯的错误。帮助学生正确理解执行过程,加深他们的记忆。 为学生讲解语句的执行过程。 教师指出学生所犯的错误。帮助学生正确理解执行过程,加深他们的记忆。 思考并回答问题 学生思考并讨论 观察、聆听并总结看到的信息,然后带着任务自主学习 课堂小结 1.循环嵌套(多种循环),它是本课程重点,也是难点。 2.多重循环中,外循环变化慢,内循环变化快,外循环一次,内循环就要循环n次。 课后 作业 思考新问题:使用break语句和continue语句时注意事项。 编写程序,以三角形形式输出“九九乘法表” ,并上机调试通过。 课后反思 教师结合学生完成实例的情况,对本节课的教学过程进行小结,指正学生在源程序书写中存在的问题,提醒同学在使用break语句和continue语句时容易出现的问题。 学科网(北京)股份有限公司 $$

资源预览图

4.4多重循环(循环的嵌套)(教案) -《C语言程序设计》同步教学(高教版)
1
4.4多重循环(循环的嵌套)(教案) -《C语言程序设计》同步教学(高教版)
2
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。