C语言选择结构程序教学设计

C语言选择结构程序教学设计
C语言选择结构程序教学设计

一、教学思想(包括教学背景、教学目标)

1、关于“C语言”

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

2、关于选择结构程序设计

选择结构程序设计是结构化程序设计的3种基本结构之一,是程序设计中常用的结构。前面介绍的顺序结构里,程序中的所有语句按照书写顺序依次执行。而在日常生活中,处理事情的顺序并不都是按部就班的顺序进行,有时会根据某些条件进行选择。比如在进行周末活动安排时,我们可以说:“如果天气好,我们就去郊游,否则我们就去体育馆打球。”在这样安排中,可以看到,“郊游”和“打球”哪个动作实际执行依赖于“天气好”这个条件是否满足。

在程序设计中,上述安排就要用选择结构来实现。选择结构的作用是根据所给条件的真假,决定程序的运行途径。在上述实例中,“天气好?”是控制条件,它的作用是决定程序的流程,如果天气确实好,则条件为真,进行“郊游”这个活动,如果天气不好,则条件为假,进行“打球”这个活动。

“郊游”和“打球“两个活动只进行一个,该选择结构结束后,再执行下面的语句。

3、教学目标

知识与技能目标:掌握关系运算、逻辑运算和C语言条件语句的使用。

过程与方法目标:通过课程举例,程序的比较和运行和程序流程图的使用,让学生加深记忆,理解条件语句的执行顺序。

情感态度与价值观目标:学习条件语句使学生进一步了解程序,对程序设计产生学习兴趣。

4、教学重点与难点

重点:if语句、switch语句的使用

难点:if语句的嵌套

二、课程设计思路(包括教学方法、教学手段)

表达方式

2、学习逻辑运算和逻辑表达式以及运算符的优先次序

3、使用if 语句实现选择结构和条件判断语句例:

例:求方程的根。

由键盘输入a,b,c。假设a,b,c的值任意,并不保

证。需要在程序中进行判别,如

果,就计算并输出方程的两个实根,否则就输出“方

程无实根”的信息。

左边为顺序结构的程序流程图,右边为选择结构程序流程图。比

较它们的之间区别。

#include

#include

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)

选择结构

和条件判

断语句是

本章的重

难点,对于

初学者有

一定的难

度,这一部

分容采用

大量的例

题以便学

生理解和

掌握选择

语句的用

法。

通过例题

2=

+

+c

bx

ax

4

2≥

-ac

b

4

2≥

-ac

b

表达方式

3、使用if 语句实现选择结构和条件判断语句

printf(“has not real roots\n”);

else

{ p=-b/(2.0*a);

q=sqrt(disc)/(2.0*a);

x1=p+q;

x2=p-q;

printf(“real roots:\nx1=%7.2f\nx2=%7.2f\n”,x1,x2);

}

return 0;

}

当程序输入6,3,1时,它的运行结果是什么?当程序输入2,4,1

时,它的运行结果是什么?

例:输入两个实数,按代数值由小到大的顺序输出这两个数。

解题思路:

只需要做一次比较,然后进行一次交换即可

用if语句实现条件判断

关键是怎样实现两个变量值的互换

#include

int main()

{ float a,b,t;

scanf("%f,%f",&a,&b);

if(a>b)

{ t=a;

a=b;

b=t;

}

printf("%5.2f,%5.2f\n",a,b);

return 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

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中的小者

的实际运

用让学生

了解条件

判断的作

用选择结

构的使用。

表达方式

3、使用if 语句实现选择结构和条件判断语句

if(a>c) 如果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.2f\n",a,b,c);

return 0;

}

运行程序并输出结果。

if语句的一般形式:

if (表达式) 语句1

[ else 语句2 ]

最常用的3种if语句形式:

1. if (表达式) 语句1 (没有else子句)

2. if (表达式) 语句1

else 语句2 (有else子句)

3. if(表达式1)语句1

else if(表达式2)语句2

else if(表达式3)语句3

else if(表达式m)语句m

else 语句m+1

(在else部分又嵌套了多层的if语句)

通过例题

的学习引

入if语句

的格式和

使用方法。

让学生自

己找出规

律加深记

忆。

表达方式

3、使用if

语句实现

选择结构

和条件判

断语句

例:某运输公司吨公里基本运费为p,根据距离s的远近计费标准如下:

s<250km 没有折扣

250s<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) 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语句的嵌套

一般形式:

if( )

if( ) 语句1

else 语句2

else 运用例题巩固知识,实现多重选择语句的使用。

else总是与它上面最近的未配对的if配对

三、教学特色(总结教学特色,教学效果)

1.教学特色

本次讲课主要采用了演示操作,任务驱动的教学方法,例如我提倡的是师生合作探索的方法,而不是教师自己独自讲解,这样能更好地进行交流和沟通,让学生自己发现问题、解决问题,更能激发学生的求知欲,帮助学生理解选择意义,和运行结果。对课堂的设计,贯彻以教师为主导,以学生为主体,以问题为基础,以能力、方法为主线,有计划培养学生的自学能力、观察和实践能力、思维能力、应用知识解决实际问题的能力和创造能力为指导思想。并且能从各种实际出发,充分利用各种教学手段来激发学生的学习兴趣,体现了对学生创新意识的培养。

2.教学效果

本次讲课效果总体还是不错的,在整个教学过程中,以引导学生发现问题、分析问题、解决问题,注重培养学生的独立思考的能力。在设计该课时是用了循序渐进的方法,先让每个学生都能在老师的引导下,独立解决一个简单的问题,让学生对选择程序设计有一个直观的理解;然后再传授if语句和switch的结构和执行过程,让学生真正懂得if语句和switch语句的实际涵。

相关主题
相关文档
最新文档