电子教案2.docx

上传人:b****3 文档编号:13208080 上传时间:2023-06-12 格式:DOCX 页数:23 大小:57.50KB
下载 相关 举报
电子教案2.docx_第1页
第1页 / 共23页
电子教案2.docx_第2页
第2页 / 共23页
电子教案2.docx_第3页
第3页 / 共23页
电子教案2.docx_第4页
第4页 / 共23页
电子教案2.docx_第5页
第5页 / 共23页
电子教案2.docx_第6页
第6页 / 共23页
电子教案2.docx_第7页
第7页 / 共23页
电子教案2.docx_第8页
第8页 / 共23页
电子教案2.docx_第9页
第9页 / 共23页
电子教案2.docx_第10页
第10页 / 共23页
电子教案2.docx_第11页
第11页 / 共23页
电子教案2.docx_第12页
第12页 / 共23页
电子教案2.docx_第13页
第13页 / 共23页
电子教案2.docx_第14页
第14页 / 共23页
电子教案2.docx_第15页
第15页 / 共23页
电子教案2.docx_第16页
第16页 / 共23页
电子教案2.docx_第17页
第17页 / 共23页
电子教案2.docx_第18页
第18页 / 共23页
电子教案2.docx_第19页
第19页 / 共23页
电子教案2.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

电子教案2.docx

《电子教案2.docx》由会员分享,可在线阅读,更多相关《电子教案2.docx(23页珍藏版)》请在冰点文库上搜索。

电子教案2.docx

电子教案2

第45、46课时总第45、46课时

单元(章、节)

第二章第3节

课题

顺序结构程序设计(五)

授课课时

2课时

授课形式

理论

授课班级

日期

教具准备

学案

教学目标

 

1.掌握算法的基本概念

2.掌握顺序结构程序设计的方法

 

教学重点

 

掌握什么是算法,会画N-S图,掌握顺序结构程序设计的方法

 

教学难点

 

顺序结构程序设计的方法

 

更新、补

充、删节

内容

 

课外作业

 

书本课后习题

 

教学后记

 

教学过程和内容

师生活动

一、讲授新课

(一)何为算法

1.程序的组成

对数据的描述。

在程序中要指定数据的类型和数据的组织形式,即数据结构

对操作的描述。

即操作步骤,也就是算法。

 

著名计算机科学家沃思提出一个公式:

数据结构+算法=程序

作为一个程序设计人员应具备四个方面的知识:

算法、数据结构、程序设计方法和语言工具。

★在这四方面中,算法是灵魂、数据结构是加工对象,语言是工具,编程需要采用合适的方法。

算法是解决“做什么”和“怎么做”的问题。

“做什么”往往是从题目或任务中可以看出来或整理出来的(例如:

求三角形的面积,统计学生成绩等),而“怎么做”则要由程序设计者去思考和设计的。

“怎么做”包括两方面的内容:

一是要做哪些事情才能达到解决问题的目的。

二是决定做这些事情的先后次序。

这就是“算法”所要解决的问题。

(二)怎样表示算法

1.用自然语言语言表示算法

2.用流程图表示算法

详见书p50页

3.用N-S图表示算法(要求掌握)

详见书p51页

4.用伪代码表示算法(不要求掌握)

(三)程序的三种基本结构

1.顺序结构(最简单的一种基本结构)

各操作步骤是顺序执行的。

2.选择结构(又称判断结构或分支结构)

根据是否满足给定的条件而从两组操作中选择一种操作。

3.循环结构(又称重复结构)

即在一定条件下反复执行某一部分的操作。

★用这三种基本结构构成的程序称为结构化程序。

C语言操作了实现三种基本结构的语句。

用if语句可以实现选择结构,用循环语句(for语句、while语句)可以实现循环结构。

凡能提供实现三种基本结构的语句的语言,称之为结构化语言。

(C语言属于结构化语言)

(四)顺序结构程序设计

定义所需变量(考虑清楚变量的类型)

1.三步骤:

输入数据

给变量赋值(可以用赋值语句直接赋值,也通过scanf函数、getchar函数把所需的数据从键盘上输入再赋给相关变量)

 

处理数据

 

输出数据:

用printf函数或putchar函数将所需打印输出的数据从屏幕打印输出

 

2.举例

(1)输入三角形的三边长,求三角形面积。

(三角形的三条边长值由键盘输入,最终的输出结构保留两位小数)

分析画出N-S图:

 

程序:

#include

main()

{doublea,b,c,s,area;

scanf(“%lf,%lf,%lf”,&a,&b,&c);

s=(a+b+c)/2.0;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf(“a=%f,b=%f,c=%f,area=%7.2f”,a,b,c,area);

}

 

(2)从键盘输入一个大写字母,要求改用小写字母输出

分析画出N-S图:

 

程序:

#inlcude

main()

{charc1,c2;

c1=getchar();

printf(“%c\n”,c1);

c2=c1+32;

printf(“%c\n”,c2);

}

(3)求ax2+bx+c=0方程的根。

a、b、c由键盘输入,设b2-4ac>0。

分析画出N-S图:

 

程序:

#include

main()

{doublea,b,c,disc,x1,x2;

scanf(“a=%lf,b=%lf,c=%lf”,&a,&b,&c);

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

x1=(-b+sqrt(disc))/(2*a);

x2=(-b-sqrt(disc))/(2*a);

printf(“x1=%7.2f,x2=%7.2f”,x1,x2);

}

二、总结

顺序结构程序设计按三个步骤,写程序之前先画出N-S图,再写程序。

三、布置作业:

书p87页第5、6题

第课时总第课时

单元(章、节)

第三章第1节

课题

选择结构程序设计

(一)

授课课时

课时

授课形式

理论

授课班级

日期

教具准备

学案

教学目标

 

1.掌握关系运算符和关系表达式

2.掌握逻辑运算符和逻辑表达式

 

教学重点

 

关系表达式和逻辑表达式

 

教学难点

 

逻辑表达式值的判断

 

更新、补

充、删节

内容

 

课外作业

 

书本课后习题

 

教学后记

 

教学过程和内容

师生活动

一、讲授新课

(一)关系运算符和关系表达式

1.关系运算符

<

优先级相同(高)

<=

>

>=

优先级相同(低)

==

!

=

算术运算符(高)

关系运算符

赋值运算符(低)

例:

c>a+bc>(a+b)

a>b==c(a>b)==c

a==b

a=b>ca=(b>c)

2.关系表达式

用关系运算符将两个表达式(可以是算术表达式、关系表达式、逻辑表达式、赋值表达式或字符表达式)连接起来的式子,称关系表达式。

如:

a+b>b+c

(a=3)>(b=5)

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

以1代表真(即关系成立),以0代表假(即关系不成立)

练习:

若a=2,b=4,c=3,则下列关系表达式的值为:

(1)a>b的值为

(2)(a>b)==c的值为

(3)b+c

(二)逻辑表达符和逻辑表达式

1.逻辑运算符

&&逻辑与(相当于and)

||逻辑或(相当于or)

逻辑非(相当于not)

注:

&&和||是双目(元)运算符,要求在运算符的两侧各有一个运算量(也称操作数)

是一目(元)运算符,只要求在它的右侧有一个运算量

 

附:

逻辑运算的真值表(表中T为真值,F为假值)

a

b

!

a

!

b

a&&b

a||b

T

T

T

F

F

T

F

F

(非)(高)

算术运算符

关系运算符

&&和||

赋值运算符(低)

例:

!

a&&b||x>y&&c(分析执行顺序)

 

2.逻辑表达式

用逻辑运算符将关系表达式或逻辑量连接起来的式子,称之逻辑表达式

 

逻辑表达式的值应是一个逻辑量“真”或“假”

0

1

 

注意:

C语言编译系统在表示逻辑运算结果时,以1代表真,以0代表假。

但在判断一个量是否为“真”时,以0代表假,以非0代表真。

练习:

1.若a=4,则!

a的值为

2.若a=4,b=5,则a&&b的值为

a||b的值为

!

a||b的值为

3.4&&0||2的值为

4.5>3&&8<4-!

0的值为

 

注意:

在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。

(1)a&&b&&c

只有a为真(非0)时,才需判别b的值,只有a和c都为真的情况下,才需判别c的值,只要a为假,就不必判别b和c。

若a为真,b为假,则不判别c

(2)a||b||c

只要a为真(非0),就不必判断b和c;只有a为假,才判别b;a和b都为假,才判别c

 

练习:

1.#include

main()

{inta,b;

printf("%d",(a=2)&&(b=-2));

}

运行结果:

2.设intx=1,y=1;表达式(!

x||y--)的值是()

A、0B、1C、2D、-1

3.能正确表示逻辑关系:

“a》10或a《0”的C语言表达式是( )

A、a>=10ora<=0B、a>=0|a<=10

C、a>=10&&a<=0D、a>=10‖a<=0

4.设有inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为()

A、1B、2C、3D、4

5.若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是()

A.a%2==1B.!

(a%2==0)

C.!

(a%2)D.a%2

6.判断char型变量c1是否为小写字母的正确表达式是()

A.‘a’<=c1<=‘z’

B.(c1>=a)&&(c1<=z)

C.(‘a’>=c1)||(‘z’<=c1)

D.(c1>=‘a’)&&(c1<=‘z’)

7.#include

main()

{inta=-1,b=1,k;

(++a<0)&&!

(b--<=0);

printf("%d%d\n",a,b);

}

运行结果:

8.下列程序的运行结果:

#include

main()

{intx,y,z;

x=y=z=-1;

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

++y&&++x||++z;

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

x=y=z=-1;

++x||y++&&z;

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

}

9.用逻辑表达式来表示判断闰年的条件

要判别用year表示的某一年是否闰年,闰年的条件应符合下面二者之一:

(1)能被4整除,但不能被100整除,如2008

(2)能被4整除,又能被400整除,如2000(注意:

能被100整除,不能被400整除的年份不是闰年,如出2100)

逻辑表达式:

 

二、总结

关系表达式和逻辑表达式的值的判断

三、布置作业

书p112页第1、2、3题

第课时总第课时

单元(章、节)

第三章第2节

课题

选择结构程序设计

(二)

授课课时

课时

授课形式

理论

授课班级

日期

教具准备

学案

教学目标

1.掌握IF语句的基本格式

2.能正确判断用if语句编写的程序

3.能编写简单的选择结构程序

 

教学重点

 

IF语句的使用

 

教学难点

 

正确判断if语句编写的程序

 

更新、补

充、删节

内容

 

课外作业

 

书本课后习题

 

教学后记

 

教学过程和内容

师生活动

一、复习测验

1.在c语言中,关系运算符的优先级别是

2.请写出与以下表达式等价的表达式、

(1)!

(x>0)

(2)!

0

3.为表示关系:

x≥y≥z,应使用的C语言表达式是()

A.(x>=y)&&(y>=z)B.(x>=y)AND(y>=z)

C.(x>=y>=z)D.(x>=y)&(y>=z)

4.以下程序运行后的输出结果是

main()

{inta,b,c;

a=10;b=20;c=(a%b<1)||(a/b>1);

printf(“%d%d%d\n”,a,b,c);

}

5.当变量c的值不为2、4、6时,值也为“真”的表达式是()

A.(c==2)||(c==4)||(c==6)

B.(c>=2&&c<=6)||(c!

=3)||(c!

=5)

C.(c>=2&&c<=6)&&!

(c%2)

D.(c>=2&&c<=6)&&(c%2!

=1)

6.若有定义:

inta=2,b=3,c=4;则以下选项中值为0的表达式是()

A、(!

a==1)&&(!

b==0)B、(a

c||1

C、a&&bD、a||(b+b)&&(c-a)

二、讲授新课

(一)if语句的一般形式、

1.不含else子句的if语句

格式:

if(表达式)语句

流程图:

 

例:

if(a

语句的执行过程为首先计算紧跟在if后面一对圆括号中的表达式的值,根据计算结果有两种情况:

(1)如果表达式的值为非零(“真”),则执行其后的if子句,然后去执行if语句后的下一条语句;

(2)如果表达式的值为零(”假”),则跳过if子句,直接执行if语句后的下一条语句。

 

练习:

①#include

main()

{

intx=4,y=3;

if(x>y)printf(“%d”,x);

}

请画出程序的流程图及N-S图,并写出程序的运行结果

 

②分析下面两个程序,观察一下有何区别?

(认真看书本p97页说明)

写出程序的运行结果

(1)#include

main()

{intx=10,y=20,z=30;

if(x>y)

z=x;x=y;y=z;

printf(“x=%d,y=%d,z=%d”,x,y,z);

}

(2)#include

main()

{intx=10,y=20,z=30;

if(x>y)

{z=x;x=y;y=z;}

printf(“x=%d,y=%d,z=%d”,x,y,z);

}

 

2.含else子句的if语句

格式:

if(表达式)语句1

else语句2

流程图:

 

例:

if(a!

=0)printf(“a!

=0\n”);

elseprintf(“a==0\n”);

说明:

(1)if与else是C语言的关键字

(2)语句1称为if子句,语句2称为else子句,这些子句只允许是一条语句,若需要多条语句时,则应该使用“{}”将这些语句括起来组成复合语句;

(3)else不是一条独立的语句,它只是if语句的一部分,因此在程序中else必须与if配对。

语句的执行过程为首先计算紧跟在if后面的一对圆括号内表达式的值,计算结果有两种情况:

①如果表达式的值为非0,执行if子句,然后跳过else子句,去执行if语句后的下一条语句;

②如果表达式的值为0,跳过if子句,去执行else子句,执行完之后接着去执行if语句后的下一条语句。

练习:

1.#include

main()

{intx,y;

scnaf(“%d,%d”,&x,&y);

if(x>y)printf(“%d”,x);

elseprintf(“%d”,y);

}

若运行时从键盘输入3,4,则程序的运行结果为

2.#include

main()

{intx;

scanf(“%d”,&x);

if(x--<5)printf(“%d”,x);

elseprintf(“%d”,x++);

}

程序运行后,如果从键盘输入5,则输出结果为

3.#inlcude

main()

{intx=3,y=0,z=0;

if(x=y+z)printf(“****”);若为x==y+z有何不同?

elseprintf(“####”);

}

4.#include

main()

{inta=-1,b=1,k;

if((++a<0)&&(b--<=0))

printf(“%d%d\n”,a,b);

else

printf(“%d%d\n”,b,a);

}

三、总结

if语句的用法及注意点

四、布置作业

第课时总第课时

单元(章、节)

第三章第2节

课题

选择结构程序设计(三)

授课课时

课时

授课形式

理论

授课班级

日期

教具准备

学案

教学目标

1.掌握IF语句的嵌套使用

2.能正确判断用if语句编写的程序

3.能编写简单的选择结构程序

 

教学重点

 

IF语句的嵌套使用

 

教学难点

 

正确判断if语句编写的程序

 

更新、补

充、删节

内容

 

课外作业

 

书本课后习题

 

教学后记

 

教学过程和内容

师生活动

一、复习测验

(另附)

二、讲授新课

if子句和else子句中可以是任意合法的C语句,因此当然也可以是if语句,通常称此为嵌套的if语句。

内嵌的if语句既可以嵌套在if子句中,也可以嵌套在else子句中。

C语言中if……else语句的二重嵌套的三种形式:

(1)在if子句中嵌套具有else子句的if语句(图1)

(2)在if子句中嵌套不含else子句的if语句(图2)

(3)在else子句中嵌套if语句(图3)

注意:

在嵌套内的if语句,既可以是if语句形式,也可以是if……else语句形式,这就会出现多个if和多个else重叠的情况。

此时,要特别注意if和else的配对问题。

if和else配对规则为else总是与它前一个最近的if配对。

(图1)

 

 

(图2)

 

 

(图3)

 

例1:

#include

main()

{intx,y;

scanf(“%d”,&x);

y=0;

if(x>=0)

{if(x>0)y=1;}

elsey=-1;

printf(“%d”,y);

}

当从键盘输入32时,程序输出结果为

分析:

请画出N-S图

 

例2:

#include

main()

{intx,y;

scanf(“%d,%d”,&x,&y);

if(x>y)

{x=y;y=x;}

else

{x++;y++;}

printf(“%d,%d”,x,y);

}

若输入数据4和3,则输出结果为

例3:

设变量a、b、c、d和y都已正确定义并赋值。

若有以下if语句:

if(a

if(c==d)y=0;

elsey=1;

该语句所表示的含义是()

0a

A、

1a≥b

y=

0a

B、

y=

1a≥b且c≠d

 

0a

C、

y=

1a

 

0a

D、

y=

1c≠d

 

练习:

1.#include

main()

{inta=2,b=-1,c=2;

if(a

if(b<0)c=0;

elsec+=1;

printf(“%d\n”,c);

}

2.当a=1、b=3、c=5、d=5时,执行下面的程序段后,x的值为

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=6;

elsex=7;

3.书本p112第4题

4.书本p112第5题

三、总结

if语句的用法及注意点

四、布置作业:

练习卷上相关题目

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2