《C语言程序设计》教案讲授课题:if语句授课时数:2教学分析:if语句是条件语句中应用的比较广泛的形式之一。从整个C语言编程学习内容看,条件语句是一块入门砖,哪里需要哪里般。而IF语句在条件语句中,相对于switch条件语句而言,if语句形式灵活、多样,形式结构容易被学生理解和接受,并且让学生方便使用。从学生对前面简单的if语句掌握情况来看,能够按照简单if语句的要求,编写出符合要求的程序也为后续switch条件语句、循环结构的学习做好知识和能力上的准备。从整个教材结构的编排来看,前面是C语言基础、变量与数据类型、运算符,后面是循环结构、数组、函数、字符串、指针等内容,因此IF语句也起着承上启下的作用。教学目标:1.知识目标:(1)学习if语句的三种形式及应用2.技能目标:(1)掌握if语句三种形式的格式(2)掌握if语句三种形式的简单应用(3)了解if语句的嵌套3.情感目标:(1)激发学生对面向过程的这种程序设计方法的探索和研究(2)激发学生对程序开发的兴趣(3)培养学生的反应能力、竞争意识、及协作精神。教学重点if语句的三种形式及应用教学难点1.多分支if语句的应用2.if语句的嵌套授课方法讲授、演示法相结合教具(含电教设备)计算机、投影仪教学准备1.准备C语言课件2.准备学生分组练习用的题目教学设计1.使用启法式利用计算机、投影仪边讲解边演示完成教学任务2.把学生分成若干组,每组分配一定量的有关if语句练习的题目,每组学生可讨论,哪组做好,就选一位学生把答案写在黑板上。培养学生的反应能力、竞争意识、及协作精神。3.对每组学生的做题情况进行总结,给出简单评语。4.对本次课进行总结,布置作业。教学过程教学环节教学内容教师活动学生活动复习5分钟对上节课学习的关系运算符及表达式、逻辑运算符及表达式进行简单复习请说出以下运算符的优先顺序?+,%,=,==,!,||,&&提问学生回答导入新课5分钟从程序流程的角度来看,程序可以分为三种基本结构,即顺序结构、分支结构、循环结构。在大多数程序中都会包含选择结构。它的作用是,根据指定的条件是否满足,决定从给定的两组或多组操作中选择其一。在C语言中要想表示条件,一般用关系表达式或逻辑表达式,要想实现选择结构可用if语句或switch语句。本次课我们就要学习if语句。讲解20分钟4.1if语句C语言的if语句有三种基本形式。4.1.1.单分支if语句if(表达式)语句;其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。同学们思考并回答:1.什么情况下表达式的值为真?2.该处表达式可以是什么表达式?3.如果表达式后的语句有多个就怎样处理?在学生讨论的基础上教师给同正确结果:非0即为真,可为任意表达式。如果表达式后的语句有多个应用{}括起来如if(ab){t=a;a=b;b=c}找两位学生回答下面语句段的结果。(a)if(3)printf(“ok\n”);(b)若a=10;if(a=5+6)printf(“%d\n”,a);例1:输入两个整数,输出其中的大数。板书板书板书提问板书讲解学生认真思考教师的提问并积极回答在做题的基础上回答结果在思考基础上回答问题教师演示15分种20分钟讲解这个例题的算法,并提问如果这个程序在运行时输入810那么输出结果是多少?通过投影仪给学生演示。main(){inta,b,max;printf(inputtwonumbers:);scanf(%d%d,&a,&b);max=a;if(maxb)max=b;printf(max=%d,max);}4.2.2.双分支if语句其格式为:if(表达式)语句1;else语句2;其语义是:如果表达式的值为真,则执行语句1,否则执行语句2。上边例1用if的第二种形式该怎样编写程序呢?在同学们思考的基础请学生举手回答。在学生回答的基础上给学生演示该程序。voidmain(){inta,b,max;printf(inputtwonumbers:);scanf(%d%d,&a,&b);if(ab)max=a;elsemax=b;printf(max=%d\n,max);}引入:以上两个语句都是解决二分支的问题,请同学考虑一下要解决三分支的问题该怎样解决呢?例如:编程求y的值。y=010001xxx为了更好的解决这类问题C语言提供了第三种if形式。4.1.3.多分支if语句其一般形式为:if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;…elseif(表达式m)语句m;else语句n;启法演示板书讲解提问演示引入板书学生认真观察举手回答教师所提出的问题教师在演示学生认真观察在教师写10分钟10分钟5分钟其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。上边求y值的题目我们用这种形式该怎样编呢?教师通过对这道的算法分析给出其主要语句段:if(x0)y=1;elseif(x==0)y=0;elsey=-1;同学们试试把这个程序完整的编写出来学生讨论的基础上教师在投影仪上给学生演示。引入:大家考虑一下这个程序能否用if语句的形式2编出来呢?如果可以该怎样编写?同学们讨论一下。同学在讨论时教师给予启法,并引申出if语句的嵌套。程序举例:if语句的嵌套if语句的执行语句又是if语句的情况,称为if语句的嵌套其一般形式为:if(表达式1)if(表达式2)语句1else语句2elseif(表达式3)语句3else语句4例如上例求y的程序可编程如下:voidmain(){intx,y;scanf(%d,&x);if(x0)y=1;elseif(x==0)y=0;elsey=-1;printf(x=%d,y=%d\n,x,y);}同学考虑一下这个程序还有什么编写方法?这种程序内外层容易搞混所以一般不建议使用。小结布置课堂练习题:以上我们学习了if语句的三种形式及if语句的嵌套,下面把学生分成四组,教师给出四组有关if语句的练习题。每组一套进行练习。题目略总结布置作业本次课我们学习了if语句的三种形式、if语句的嵌套,学习了它们的格式、语义及其简单应用,通过一定的例题讲解演示掌握了这些语句的基本功能,其中if语句的第二种形式和第三种形式。是我们重点应掌握的。讲解分析算法板书演示引入板书板书演示教师启示教师提供题目教师出主要语句段的基础上把程序补充完整学生思考听讲学生可举手回答。学生分成四组学生分头做,可简单讨论每组学生出一位把答案写在黑板上。作业为:P58习题3和习题4讲评教师总结布置作业