(教案设计)用for语句实现循环

  • 格式:doc
  • 大小:46.50 KB
  • 文档页数:6

下载文档原格式

  / 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用f o r语句实现循环

(教案设计者:武冈职业中专陈小亮)

教学内容:《C程序设计》第五章第四节for循环

课时安排:1学时(内容讲解30分钟,练习10分钟,总结反馈5分钟)教学目的:1、熟练掌握for循环语句的基本语法

2、灵活掌握for循环语句中三个表达的各种变化

3、学会在for循环中使用break语句和continue语句

4、灵活运用for循环解决实际问题

教学重点:1、for循环语句的基本语法

2、break语句和continue语句在for循环中的运用

教学难点:1、for循环语句中三个表达的各种变化的理解

2、使用for循环结构设计程序

教学方法:多媒体讲解、演示、实践操作、实题巩固

板书设计:以多媒体电视为主,黑板只板书知识点与学生的提问

教学过程:

导课:1、提问检验while语句、do-while语句实现循环的基本语法及运行过程。(根据学生掌握情况适当复习与板书)。

2、再次分析循环结构设计的原理,退出循环的控制条件,while、do-while 实现循环的区别,引入新知识点“for语句实现循环”。

一、for语句实现循环的基本语法

(运用多媒体讲解下列内容,动画强调基本格式及执行过程)

1、for语句格式:

for (表达式1;表达式2;表达式3)

{循环体}

2、语句执行过程:

①先计算表达式1的值。

②再计算表达式2的值,若其值为真,则执行循环体一次;否则跳转第⑤步。

③然后计算表达式3的值。

④回转上面第②步。

⑤结束循环,执行for语句下面一个语句。

说明:(1)、表达式1一般为赋值表达式,用于进入循环之前给循环变量赋初值。

(2)、表达式2一般为关系表达式或逻辑表达式,用于执行循环的条件判定,它与while、do-while循环中的表达式作用完全相同。

(3)、表达式3一般为赋值表达式或自增 (i=i+1 可表示成i++)、自减(i=i-1可表示成i--)表达式,用于修改循环变量的值。

(4)、如果循环体部分是多个语句组成的,则必须用大括号括起来,使其成为一个复合语句。

二、for语句循环中三个表达式的变化

(实例讲解法、实践操作验证法讲解下列内容)

1、for (;表达式2;表达式3)

“表达式1”省略,一般用于不向循环变量赋初值的情况,但“;”不可省略。

2、for (表达式1;;表达式3)

“表达式2”省略,一般用于不判断循环条件的情况,表示条件为永真,但“;”不可省略,为了防止出现死循环的情况要在循环体内设置条件退出语句。

3、for (表达式1;表达式2;)

“表达式3”省略,一般用于不按一定规律修改循环变量的情况,但“表达式2”后的“;”不可省略,在循环体内一般也有修改循环条件的语句。

4、三个表达式缺省2个,或三个全缺省(但两个“;”不可缺少),这类情况也一样需要防止出现死循环。

5、在for语句中,表达式1和表达式3也可以使用逗号表达式,即包含一个以上的简单表达式,中间用逗号间隔。在逗号表达式内按从左至右求解,整个

表达式的值为其中最右边的表达式的值。例如:

for (i=1;i<=100; i++, sum=sum+i;) 相当于:for (i=1;i<=100;i++)

sum=sum+i;

6、在for语句中,表达式一般为关系表达式(如i<=10)或逻辑表达式(如

x>0‖y<-4),但也可以是其他表达式(如字符表达式、数值表达式)。

例5.4 用for循环结构来计算1+2+3+…+10的值。

{ int i,sum=0;

for (i=1;i<=10;i++)

sum=sum+1;

printf ("1+2+3+…+10=%d\n",sum);

程序运行结果:

1+2+3+…+10=55

显然,用for语句简单、方便、形式多样。

三、for语句与while语句运用比较

(运用对比法讲解)计算5!以下用for语句程序段:

(以下程序分别由两个学生完成,全班同学一起分析,老师再作解释。)

for (i=1;i<=5;i++)

{a=a*i;

printf ("%d%d\n",a,i);}

完全等价于下面的while语句程序段:

i=1;

while (i<=5)

{ a=a*i;

printf ("%d%d\n",a,i);

i++;

}

四、在for循环中运用break语句和continue语句

(运用实践操作+体验式学习法完成)

1、break语句

格式:break;

功能:该语句可以使程序运行时中途跳出循环体,即强制结束循环

......,接着执行循环下面的语句。

例5.5 求3、5、7、11四个数的最小公倍数。

[分析] 运用逐个数判断的方法进行,找到以后立即终止。

main ( )

{ int r;

for (r=11;r<1000;r++)

if (r%3==0&&r%5==0&&r%7==0&&r%11==0) break;

printf ("r=%d",r);

}

[说明] (1)break语句不能用于循环语句和switch语句之外的任何语句。

(2)在多重循环的情况下,break语句只能跳出一层循环,即从当前循环中跳出。

2、continue语句

格式:continue;

功能:结束本次循环

......,即跳出循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。

continue语句和break语句的区别是:continue语句只是结束本次循环,而不终止整个循环的执行;而break语句则是强制终止整个循环过程。

例5.6 打印出1~10之间不能被3整除的数。

main ( )

{ int i;

for (i=1;i<=10;i++)

{if (i%3==0) continue;

printf ("%5d",i); }

}

程序运行结果为: