C语言选择结构程序教学设计_第1页
C语言选择结构程序教学设计_第2页
C语言选择结构程序教学设计_第3页
C语言选择结构程序教学设计_第4页
C语言选择结构程序教学设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、教学思想(包括教学背景、教学目标)1、 关于“C语言” 计算机的本质是“程序的机器”,程序和指令的思想是计算机系统中最基本的概念,只有懂得程序设才能懂得计算机,真正了解计算机是怎样工作的;通过学习程序设计可以使我们进一步了解计算机的工作原理,更好地理解个应用计算机,学会用计算机处理问题的方法。C语言作为一种高级程序设计语言,相比其他高级程序设计语言有着公认的一些特点,比如语言本身简介,生成的代码质量高,使用灵活等。它既可以编写计算机系统软件又可以编写各类应用软件。C语言作为一种简洁高校并且支持结构化编程的程序设计语言,在讲究效率的时代,对于帮助学习者掌握程序设计的基本思想和方法,进而更好地

2、理解计算机的工作,会有极大的帮助。2、 关于选择结构程序设计选择结构程序设计是结构化程序设计的3种基本结构之一,是程序设计中常用的结构。前面介绍的顺序结构里,程序中的所有语句按照书写顺序依次执行。而在日常生活中,处理事情的顺序并不都是按部就班的顺序进行,有时会根据某些条件进行选择。比如在进行周末活动安排时,我们可以说:“如果天气好,我们就去郊游,否则我们就去体育馆打球。”在这样安排中,可以看到,“郊游”和“打球”哪个动作实际执行依赖于“天气好”这个条件是否满足。在程序设计中,上述安排就要用选择结构来实现。选择结构的作用是根据所给条件的真假,决定程序的运行途径。在上述实例中,“天气好?”是控制条

3、件,它的作用是决定程序的流程,如果天气确实好,则条件为真,进行“郊游”这个活动,如果天气不好,则条件为假,进行“打球”这个活动。“郊游”和“打球“两个活动只进行一个,该选择结构结束后,再执行下面的语句。3、 教学目标知识与技能目标:掌握关系运算、逻辑运算和C语言条件语句的使用。过程与方法目标:通过课程举例,程序的比较和运行和程序流程图的使用,让学生加深记忆,理解条件语句的执行顺序。情感态度与价值观目标:学习条件语句使学生进一步了解程序,对程序设计产生学习兴趣。4、 教学重点与难点重点:if语句、switch语句的使用难点:if语句的嵌套 二、课程设计思路(包括教学方法、教学手段) 教学步骤教学

4、内容设计意图表达方式1、学习关系运算和关系表达式2、学习逻辑运算和逻辑表达式以及运算符的优先次序2、学习逻辑运算和逻辑表达式以及运算符的优先次序3、 使用if语句实现选择结构和条件判断语句3、 使用if语句实现选择结构和条件判断语句3、使用if语句实现选择结构和条件判断语句关系运算符:用来对两个数值进行比较的比较运算符语言提供种关系运算符: (小于) = (小于或等于) (大于) = (大于或等于) = (等于) != (不等于) 关系表达式用关系运算符将两个数值或数值表达式连接起来的式子1 真0 假<表达式> <关系运算符> <表达式>关系表达式的值是一个

5、逻辑值例: a+b> c+d (a=3) < (b=5) a!=A (a>b)=(c<d) 3种逻辑运算符:&&(逻辑与) |(逻辑或) !(逻辑非)&&和|是双目(元)运算符!是一目(元)运算符逻辑表达式<表达式> <逻辑运算符> <表达式>例: 判断年龄在13至17岁之内? age>=13 && age<=17 判断年龄小于12或大于65? age<12 | age>65逻辑运算符的优先次序! && | (!为三者中最高)与其他运算符的优先次序

6、 ! (高) 算术运算符 关系运算符 && 和 | 赋值运算符 (低)例:判别某一年是否闰年,用逻辑表达式表示闰年的条件是符合下面二者之一:能被4整除,但不能被100整除,如2008能被400整除,如2000(year % 4 = 0 && year 100 !=0)| year % 400 = 0如果表达式值为1,则闰年;否则为非闰年例: 例:求 方程的根。由键盘输入a,b,c。假设a,b,c的值任意,并不保证 。 需要在程序中进行判别,如果 ,就计算并输出方程的两个实根,否则就输出“方程无实根”的信息。 左边为顺序结构的程序流程图,右边为选择结构程序流程图。

7、比较它们的之间区别。#include <stdio.h>#include <math.h>int main ( ) double a,b,c,disc,x1,x2,p,q; scanf("%lf%lf%lf",&a,&b,&c);disc=b*b-4*a*c;if (disc<0) printf(“has not real rootsn”); else p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(“real roots:nx1=%7.2fnx2=%

8、7.2fn”,x1,x2); return 0;当程序输入6,3,1时,它的运行结果是什么?当程序输入2,4,1时,它的运行结果是什么?例:输入两个实数,按代数值由小到大的顺序输出这两个数。解题思路:只需要做一次比较,然后进行一次交换即可用if语句实现条件判断关键是怎样实现两个变量值的互换#include <stdio.h>int main() float a,b,t; scanf("%f,%f",&a,&b); if(a>b) t=a; a=b; b=t; printf("%5.2f,%5.2fn",a,b); ret

9、urn 0;例: 输入3个数a,b,c,要求按由小到大的顺序输出。解题思路:可以先用伪代码写出算法:if a>b,a和b对换 (a是a、b中的小者)if a>c,a和c对换 (a是三者中最小者)if b>c,b和c对换 (b是三者中次小者)顺序输出a,b,c#include <stdio.h>int main() float a,b,c,t; scanf("%f,%f,%f",&a,&b,&c); if(a>b) 如果 a>b,将a和b对换 t=a; a=b; b=t; a是a、b中的小者 if(a>c

10、) 如果 a>c,将a和b对换 t=a; a=c; c=t; a是a、c中的小者 if(b>c) 如果 b>c,将a和b对换 t=b; b=c; c=t; b是b、c中的小者 printf("%5.2f,%5.2f,%5.2fn",a,b,c); return 0;运行程序并输出结果。if语句的一般形式:if (表达式) 语句1 else 语句2 最常用的3种if语句形式:1. if (表达式) 语句1 (没有else子句)2. if (表达式) 语句1 else 语句2 (有else子句)3. if(表达式) 语句 else if(表达式) 语句 els

11、e if(表达式) 语句 else if(表达式) 语句 else 语句m+1 (在else部分又嵌套了多层的if语句)选择结构程序设计中条件语句的使用需要使用关系运算和逻辑运算。使用简单的例子便于学生理解。在教学过程中由简入难选择结构和条件判断语句是本章的重难点,对于初学者有一定的难度,这一部分内容采用大量的例题以便学生理解和掌握选择语句的用法。通过例题的实际运用让学生了解条件判断的作用选择结构的使用。通过例题的学习引入if语句的格式和使用方法。让学生自己找出规律加深记忆。3、使用if语句实现选择结构和条件判断语句3、 使用if语句实现选择结构和条件判断语句4、条件运算符和条件表达式 例:某

12、运输公司吨公里基本运费为p,根据距离s的远近计费标准如下: s<250km 没有折扣 250£ s<500 2% 折扣 500 £ s<1000 5% 折扣 1000 £ s<2000 8% 折扣 2000 £ s<3000 10%折扣 3000 £ s 15%折扣 根据货物重量w和运距s,求运费f。 main( ) float p,s,w,d,f; scanf(“%f %f %f ”,&p,&s,&w); if(s>=3000) d=0.15; else if(s>=2000)

13、 d=0.10; else if(s>=1000) d=0.08; else if(s>=500) d=0.05; else if(s>=250) d=0.02; else d=0.0; f=p*w*s*(1-d); printf(“f=%15.2f ”, f); 选择结构的嵌套:在if语句中又包含一个或多个if语句称为if语句的嵌套一般形式:else总是与它上面最近的未配对的if配对if( ) if( ) 语句1 else 语句2 else if( ) 语句3 else 语句4 内嵌if 例:有一函数: 编一程序,输入一个x值,要求输出相应的y值。解题思路:方法1scanf

14、("%d",&x);if(x<0) y = -1;if(x=0) y = 0;if(x>0) y = 1;printf("x=%d,y=%dn",x,y);(1) 先后用3个独立的if语句处理:输入x若 x < 0, 则y =-1若 x = 0, 则y = 0若 x > 0, 则y = 1输出x和yscanf("%d",&x);if (x>=0) if (x>0) y=1; else y=0;else y=-1;printf("x=%d,y=%dn",x,y);解

15、题思路:方法2scanf("%d",&x);if(x<0) y=-1; else if(x=0) y=0; else y=1;printf("x=%d,y=%dn",x,y);(2) 用一个嵌套的if语句处理:输入x若x < 0, 则y = -1 否则 若 x = 0, 则y = 0 否则 y = 1输出x和y有一种if语句,当被判别的表达式的值为“真”或“假” 时,都执行一个赋值语句且向同一个变量赋值如:if (a>b)max = (a > b) ? a : b; max=a; else max=b;1、条件表达式的一般

16、形式<表达式1> ?<表达式2> :<表达式3>2、 运算规则右结合先计算表达式1,若为非0,则以表达式2的值作为条件表达式的值;否则,以表达式3的值为条件表达式的值。3、 优先级算术 关系 逻辑运算(!除外) 条件运算 赋值运算高 低(1) 输出x和y当中的最大值 z=x>y ? x : y ; printf(“max=%d”,z);或 printf(“max=%d”,x>y?x:y); 或 x>y?printf (“%d”,x) : printf (“%d”,y); (2) a>b?a:b+1等价于a>b?a:(b+1)而不

17、是(a>b?a:b)+1(3) a>b?a:c>d?c:d等价于a>b?a:(c>d?c:d)(4) x>y?1:5.6 表达式的值的类型取高的运用例题巩固知识,实现多重选择语句的使用。引用例题使用多种方法说明if的嵌套使用,便于理解和记忆。条件运算符和条件表达式相对而言比较简单,在教学过程中列举表达式的一般形式并举例说明。4、条件运算符和条件表达式5、用switch语句实现多分支选择结构 例: 输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。#include <stdio.h>int ma

18、in() char ch; scanf("%c",&ch); ch=(ch>='A' && ch<='Z)?(ch+32):ch; printf("%cn",ch); return 0;switch语句的作用是根据表达式的值,使流程跳转到不同的语句switch语句的一般形式:switch(表达式) case 常量1 :语句1 case 常量2 :语句2 case 常量n :语句n default : 语句n+1switch语句的作用是根据表达式的值,使流程跳转到不同的语句switch语句的执行过

19、程:当switch后的表达式的值与某一个case后的常量表达式的值相等时,执行其后的语句;若无匹配,则执行default后的语句break 语句使流程跳出switch结构,终止switch语句的执行。例:要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为7084分,C等为6069分 ,D等为 60分以下 。成绩的等级由键盘输入。#include <stdio.h>int main() char grade; scanf("%c",&grade); printf("Your score:"); switch(grade) case 'A': printf("85100n");break; case 'B': printf("7084n");break; case 'C': printf("6069n");break; case 'D'

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论