2016年新疆自治区教师资格证认证教学设计教师姓名:金强山讲授内容:for循环结构单位:新疆大学科学技术学院1教学设计方案课题for循环结构教师姓名金强山学科《C程序设计》章节第五章第四节学时2教学对象一年级学生教材分析“for循环结构”是《C程序设计》第五章第四节的内容。本节主要介绍for循环语句的语法规则,包括for语句的执行流程,各表达式的作用,以及一些特殊的简写形式。重点是for循环语句的执行过程,在分析案例的过程中,通过算法流程图表示for循环语句的执行过程,让学生在运用知识的过程中掌握原理。学习者分析由于《C程序设计》课程的抽象性,学生在学习的过程中积极性不高,但是作为教师要引导学生,在学习的过程中凸显程序设计在解决问题过程中的优势。学习者都是一年级的学生,对于计算机思维没有概念,因此教师要尽量多的在案例中演示,通过案例透析相关的知识点。教学目标知识与技能1.能够辨析for循环语句的适用条件;2.能够叙述for循环语句的语法规则;3.能够叙述for循环语句的执行流程;4.能够使用算法流程图分析问题;5.能够熟练使用for循环语句解决实际问题;过程与方法1.在分析问题的过程中,学生通过利用算法流程图表达自己的想法,提升自己分析问题的能力;2.在算法设计的过程中,通过小组讨论拓展学生算法设计的思路和方法,提升自己的算法设计能力;情感与态度1.通过展示并点评学生书写程序的过程,让学生逐步养成良好的代码书写习惯;2.鼓励学生勇于调试程序中的错误,磨练学生不折不挠的毅力;2教学重点、难点教学重点for循环语法规则for循环运行流程;教学难点for循环运行流程教学方法讲授法、演示法、任务驱动法教学过程§5.4for循环结构【复习回顾】while循环【实例1】求1+2+3+……+100的值。(用while循环)inti=1,sum=0;while(i=100){sum=sum+i;i++;}回顾内容:1.重复操作利用循环解决,优点:效率高;缺点:无法想象的执着;2.说明变量i,sum作用,分析内存;3.回顾While循环语句(表达式,花括号,句末分号);一、for循环语句的一般形式1.for循环语句结构for(表达式1;表达式2;表达式3)语句【实例2】求1+2+3+……+100的值。(用for循环)分析:解决上述问题需要哪些要素?(起始值、结束值,执行操作)【迁移while循环】将边角料放在表达式中,主料放在语句中。inti,sum=0;for(i=1;i=100;i++)sum=sum+i;【归纳】表达式1:初始条件,只执行一次;(起始值i=1)表达式2:循环执行要满足的条件,一般为关系表达式或逻辑表达式;(i=100)3i=1i=100sum=sum+ii=i+1否是语句:执行的操作;(累加:sum=sum+i)表达式3:自动跳转到下一个数;【实例2-代码】#includestdio.hintmain(){inti,sum=0;for(i=1;i=100;i=i+1){sum=sum+i;}}二、for循环语句的执行过程程序也需要一遍一遍的重复操作才能实现预期的目的,那么for循环结构是怎样实现累加的呢?【问题】完成1-100的累加,循环执行多少遍呢?【模拟执行过程】isum112336410…………【实例3】求2+4+6+…+100的值。#includestdio.hintmain(){for(i=2;i=100;i=i+2){For(i=1;i=100;i++)sum=sum+i;①②②③④4sum=sum+i;}return0;}三、for语句特殊形式对于for循环中的表达式,它们是可以省略的,但是如果省略之后不进行补救,那么循环语句就会出现问题。1.省略表达式1inti=1;for(;i=100;i++)sum=sum+i;解析:省略表达式1,没有对循环变量赋值,但是为了正常运行,可以在for循环之前就对循环变量赋初值。2.省略表达式2(死循环)for(i=1;;i++)sum=sum+i;解析:省略表达式2,不用检查表达式2,即认为表达式2始终为真。3.省略表达式3for(i=1;i=100;){sum=sum+i;i++;}解析:省略表达式3,循环变量无法趋向循环结束条件,即死循环,但是可以补救,在循环语句添加表达式3。4.表达式1和表达式3可以是逗号表达式for(i=1,sum=0;i100;i++)sum=sum+i;for(i=0,j=100;i=j;i++,j--)k=i+j;解析:表达式1和表达式3可以是逗号表达式,同一表达式中各逗号表达式优先级别一致。5.表达式2一般是关系表达式(i=100)或逻辑表达式(ab&&xy),也可以是数值5表达式或字符表达式,只要其值为非零,就执行循环。for(i=1,j=15;i20&&j3;i++,j--)printf(“i=%d,j=%d”,i,j);四、解决实际问题,如何选择for循环还是while循环对于循环问题,利用for循环和while循环都可以解决,for循环和while循环写得语句也可以相互改写,但是对于不同的问题,for循环语句和while循环各有其优势。【选择依据】对于循环次数已知的循环操作,用for语句实现比较方便;如果是根据某个状态来决定是否要循环下去,用while循环比较方便。【实例4】根据实际问题选择用for循环还是while循环。1.学院组织学生向贫困山区捐款,学院有1000名学生,捐款目标金额为10万,只要达到10万元则终止捐款,输出捐款人数,捐款总额,平均每人捐款金额。2.工商1班有50名学生,需要统计期中考试英语的平均分数。五、躬行题【练习1】求1+3+5+7+……+99的值。#includestdio.hintmain(){for(i=1;i=99;i=i+2){sum=sum+i;}return0;}【练习2】求1/1+1/2+1/3+1/4+…+1/100的值。#includestdio.hintmain(){inti;doublesum,num;for(i=1;i=100;i++){num=1.0/i;sum=sum+num;}}6【练习3】用π/4≈1-1/3+1/5-1/7+…公式求π的近似值,直到发现某一项的绝对值小于10-6位置(该项不累加)。#includestdio.h#includemath.hintmain(){inti=1,flag=1;doublenum=1,sum=0,pi;while(fabs(num)1e-6){sum=sum+num;flag=flag*(-1);i++;num=flag*(1/i);}pi=num*4;printf(“piis%lf\n”,pi);}六、总结1.for循环结构的一般形式2.for循环结构的执行过程3.利用for循环解决简单的问题【板书设计】§5.4for循环控制结构一、for循环语句的一般形式for(表达式1;表达式2;表达式3)语句表达式1:循环变量赋初值;表达式2:循环条件;表达式3:循环变量自增;语句:执行操作;二、for循环语句的执行过程三、for语句特殊形式四、解决实际问题,如何选择for循环还是while循环五、躬行题六、总结