C语言选择结构程序教学设计课题.docx

上传人:b****4 文档编号:3907717 上传时间:2022-11-26 格式:DOCX 页数:17 大小:555.81KB
下载 相关 举报
C语言选择结构程序教学设计课题.docx_第1页
第1页 / 共17页
C语言选择结构程序教学设计课题.docx_第2页
第2页 / 共17页
C语言选择结构程序教学设计课题.docx_第3页
第3页 / 共17页
C语言选择结构程序教学设计课题.docx_第4页
第4页 / 共17页
C语言选择结构程序教学设计课题.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

C语言选择结构程序教学设计课题.docx

《C语言选择结构程序教学设计课题.docx》由会员分享,可在线阅读,更多相关《C语言选择结构程序教学设计课题.docx(17页珍藏版)》请在冰豆网上搜索。

C语言选择结构程序教学设计课题.docx

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

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

1、关于“C语言”

计算机的本质是“程序的机器”,程序和指令的思想是计算机系统中最基本的概念,只有懂得程序设才能懂得计算机,真正了解计算机是怎样工作的;通过学习程序设计可以使我们进一步了解计算机的工作原理,更好地理解个应用计算机,学会用计算机处理问题的方法。

C语言作为一种高级程序设计语言,相比其他高级程序设计语言有着公认的一些特点,比如语言本身简介,生成的代码质量高,使用灵活等。

它既可以编写计算机系统软件又可以编写各类应用软件。

C语言作为一种简洁高校并且支持结构化编程的程序设计语言,在讲究效率的时代,对于帮助学习者掌握程序设计的基本思想和方法,进而更好地理解计算机的工作,会有极大的帮助。

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

选择结构程序设计是结构化程序设计的3种基本结构之一,是程序设计中常用的结构。

前面介绍的顺序结构里,程序中的所有语句按照书写顺序依次执行。

而在日常生活中,处理事情的顺序并不都是按部就班的顺序进行,有时会根据某些条件进行选择。

比如在进行周末活动安排时,我们可以说:

“如果天气好,我们就去郊游,否则我们就去体育馆打球。

”在这样安排中,可以看到,“郊游”和“打球”哪个动作实际执行依赖于“天气好”这个条件是否满足。

在程序设计中,上述安排就要用选择结构来实现。

选择结构的作用是根据所给条件的真假,决定程序的运行途径。

在上述实例中,“天气好?

”是控制条件,它的作用是决定程序的流程,如果天气确实好,则条件为真,进行“郊游”这个活动,如果天气不好,则条件为假,进行“打球”这个活动。

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

3、教学目标

知识与技能目标:

掌握关系运算、逻辑运算和C语言条件语句的使用。

过程与方法目标:

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

情感态度与价值观目标:

学习条件语句使学生进一步了解程序,对程序设计产生学习兴趣。

4、教学重点与难点

重点:

if语句、switch语句的使用

难点:

if语句的嵌套

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

教学步骤

教学内容

设计意图表达方式

 

1、学习关系运算和关系表达式

 

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

 

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

 

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

 

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

 

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

 

关系运算符:

用来对两个数值进行比较的比较运算符

C语言提供6种关系运算符:

①<(小于)②<=(小于或等于)

③>(大于)④>=(大于或等于)

⑤==(等于)⑥!

=(不等于)

关系表达式

用关系运算符将两个数值或数值表达式连接起来的式子

1——真

0——假

<表达式><关系运算符><表达式>

关系表达式的值是一个逻辑值

例:

a+b>c+d(a=3)<(b=5)

‘a’!

=‘A’(a>b)==(c

3种逻辑运算符:

&&(逻辑与)||(逻辑或)!

(逻辑非)

&&和||是双目(元)运算符

!

是一目(元)运算符

逻辑表达式

<表达式><逻辑运算符><表达式>

例:

判断年龄在13至17岁之内?

age>=13&&age<=17

判断年龄小于12或大于65?

age<12||age>65

逻辑运算符的优先次序

!

→&&→||(!

为三者中最高)

与其他运算符的优先次序

!

(高)

算术运算符

关系运算符

&&和||

赋值运算符(低)

例:

判别某一年是否闰年,用逻辑表达式表示

闰年的条件是符合下面二者之一:

①能被4整除,但不能被100整除,如2008

②能被400整除,如2000

(year%4==0&&year100!

=0)||year%400==0

如果表达式值为1,则闰年;否则为非闰年

例:

 

例:

求方程的根。

由键盘输入a,b,c。

假设a,b,c的值任意,并不保证。

需要在程序中进行判别,如果,就计算并输出方程的两个实根,否则就输出“方程无实根”的信息。

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

比较它们的之间区别。

#include

#include

intmain()

{

doublea,b,c,disc,x1,x2,p,q;

scanf("%lf%lf%lf",&a,&b,&c);

disc=b*b-4*a*c;

if(disc<0)

printf(“hasnotrealroots\n”);

else

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

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

x1=p+q;

x2=p-q;

printf(“realroots:

\nx1=%7.2f\nx2=%7.2f\n”,x1,x2);

}

return0;

}

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

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

例:

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

解题思路:

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

用if语句实现条件判断

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

#include

intmain()

{floata,b,t;

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

if(a>b)

{t=a;

a=b;

b=t;

}

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

return0;

}

例:

输入3个数a,b,c,要求按由小到大的顺序输出。

解题思路:

可以先用伪代码写出算法:

ifa>b,a和b对换(a是a、b中的小者)

ifa>c,a和c对换(a是三者中最小者)

ifb>c,b和c对换(b是三者中次小者)

顺序输出a,b,c

#include

intmain()

{floata,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)如果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);

return0;

}

运行程序并输出结果。

if语句的一般形式:

if(表达式)语句1

[else语句2]

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

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

2.if(表达式)语句1

else语句2(有else子句)

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

elseif(表达式2)语句2

elseif(表达式3)语句3

elseif(表达式m)语句m

else语句m+1

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

 

选择结构程序设计中条件语句的使用需要使用关系运算和逻辑运算。

使用简单的例子便于学生理解。

在教学过程中由简入难

 

选择结构和条件判断语句是本章的重难点,对于初学者有一定的难度,这一部分内容采用大量的例题以便学生理解和掌握选择语句的用法。

 

通过例题的实际运用让学生了解条件判断的作用选择结构的使用。

 

通过例题的学习引入if语句的格式和使用方法。

让学生自己找出规律加深记忆。

 

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

 

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

 

 

4、条件运算符和条件表达式

 

例:

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

s<250km没有折扣

250s<5002%折扣

500s<10005%折扣

1000s<20008%折扣

2000s<300010%折扣

3000s15%折扣

根据货物重量w和运距s,求运费f。

main()

{floatp,s,w,d,f;

scanf(“%f%f%f”,&p,&s,&w);

if(s>=3000)d=0.15;

elseif(s>=2000)d=0.10;

elseif(s>=1000)d=0.08;

elseif(s>=500)d=0.05;

elseif(s>=250)d=0.02;

elsed=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值。

解题思路:

方法1

scanf("%d",&x);

if(x<0)y=-1;

if(x==0)y=0;

if(x>0)y=1;

printf("x=%d,y=%d\n",x,y);

(1)先后用3个独立的if语句处理:

输入x

若x<0,则y=-1

若x=0,则y=0

若x>0,则y=1

输出x和y

scanf("%d",&x);

if(x>=0)

if(x>0)y=1;

elsey=0;

elsey=-1;

printf("x=%d,y=%d\n",x,y);

解题思路:

方法2

scanf("%d",&x);

if(x<0)y=-1;

else

if(x==0)y=0;

elsey=1;

printf("x=%d,y=%d\n",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、条件表达式的一般形式

<表达式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)而不是(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

intmain()

{

charch;

scanf("%c",&ch);

ch=(ch>='A'&&ch<='Z‘)?

(ch+32):

ch;

printf("%c\n",ch);

return0;

}

switch语句的作用是根据表达式的值,使流程跳转到不同的语句

switch语句的一般形式:

switch(表达式)

{case常量1:

语句1

case常量2:

语句2

┇┇┇

case常量n:

语句n

default:

语句n+1

}

switch语句的作用是根据表达式的值,使流程跳转到不同的语句

switch语句的执行过程:

当switch后的表达式的值与某一个case后的常量表达式的值相等时,执行其后的语句;若无匹配,则执行default后的语句

break语句

使流程跳出switch结构,

终止switch语句的执行。

例:

要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70~84分,C等为60~69分,D等为60分以下。

成绩的等级由键盘输入。

#include

intmain()

{chargrade;

scanf("%c",&grade);

printf("Yourscore:

");

switch(grade)

{case'A':

printf("85~100\n");break;

case'B':

printf("70~84\n");break;

case'C':

printf("60~69\n");break;

case'D':

printf("<60\n");break;

default:

printf("enterdataerror!

\n");

}

return0;

}

在程序运行中,若输入F,则程序输出的值是什么?

若把break语句删除会出现什么结果?

若把A和B后面的语句都删除会有什么结果?

 

Switch语句作为本章的重点需要学生掌握并使用,同样采用举例的方式将强理解和记忆。

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

1.教学特色

本次讲课主要采用了演示操作,任务驱动的教学方法,例如我提倡的是师生合作探索的方法,而不是教师自己独自讲解,这样能更好地进行交流和沟通,让学生自己发现问题、解决问题,更能激发学生的求知欲,帮助学生理解选择意义,和运行结果。

对课堂的设计,贯彻以教师为主导,以学生为主体,以问题为基础,以能力、方法为主线,有计划培养学生的自学能力、观察和实践能力、思维能力、应用知识解决实际问题的能力和创造能力为指导思想。

并且能从各种实际出发,充分利用各种教学手段来激发学生的学习兴趣,体现了对学生创新意识的培养。

2.教学效果

本次讲课效果总体还是不错的,在整个教学过程中,以引导学生发现问题、分析问题、解决问题,注重培养学生的独立思考的能力。

在设计该课时是用了循序渐进的方法,先让每个学生都能在老师的引导下,独立解决一个简单的问题,让学生对选择程序设计有一个直观的理解;然后再传授if语句和switch的结构和执行过程,让学生真正懂得if语句和switch语句的实际内涵。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1