内容正文:
技能,让生活更美好
模块四任务四《多重循环(循环的嵌套)》
教学内容
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语句时容易出现的问题。
学科网(北京)股份有限公司
$$