一维数组教学设计.docx
- 文档编号:11789246
- 上传时间:2023-04-01
- 格式:DOCX
- 页数:10
- 大小:20.78KB
一维数组教学设计.docx
《一维数组教学设计.docx》由会员分享,可在线阅读,更多相关《一维数组教学设计.docx(10页珍藏版)》请在冰豆网上搜索。
一维数组教学设计
C语言程序设计学科教案设计
备课人
黄明凤
学科
C语言程序设计
年级
职高二年级
时间
2015年12月31日
课题
一维数组的定义与引用
课时
90分钟
课型
理论课
教
学
分
析
【教材分析】
v教材名称:
C程序设计(第四版)谭浩强著
v:
清华大学
v教材分析
《C程序设计(第4版)》作者具有丰富的教学经验和编写教材的经验。
《C程序设计(第3版)》被普遍认为是学习C语言的好教材,并被全国大多数高校选用。
《C程序设计(第3版)》曾荣获原电子工业部优秀教材一等奖、高校优秀畅销书特等奖、全国高等院校计算机基础教育研究会优秀教材一等奖。
根据C语言的发展和计算机教学的需要,作者在《C程序设计(第三版)》的基础上进行了修订,出版了第4版。
因此,这本书非常适合作为教材。
v章节选定:
第6章第1节一维数组
v章节分析
本章节位于教材的第六章第一节,在此之前已经学习了C语言的特点及编译器的使用,了解了C语言的算法,对于C语言的顺序结构、选择结构、循环结构也有了一定认识,具有一定的学习基础。
本章后面部分的二维数组以及字符数组的学习,都要以前面为基础。
因此一维数组的学习具有承上启下的作用。
【学情分析】
v教学对象:
职业中专高中二年级计算机专业学生
v学生特点
职业中专高中二年级学生对于计算机专业各个学科的知识都有了一定的了解,对于计算机的软件和硬件也比较熟悉。
因此他们有了一定的学习能力。
但是职高的学生好动,自制力差,不太喜欢空洞的理论知识,比较喜欢实践实验性强的课程,尤其是男生喜欢需要开动脑筋和具有挑战性的编程,因此,关键在于激发学生的学习兴趣。
v应对策略
将理论与实际相结合,多进行实验课,可以边进行实验边进行理论的讲解。
三
维
目
标
【知识性目标】
1、了解一维数组在存中的存储思想
2、掌握一维数组定义、初始化和引用方法
【技能性目标】
1、能够正确使用编译器进行相关的调试
2、能够正确定义一维数组、初始化一维数组和引用一维数组
3、能够运用一维数组进行简单程序设计
【情感性目标】
1、在上机调试程序的过程中,学生能够养成分析错误、独立思考、解决问题的能力
2、在面对实际生活中的批量数据时,学生能够形成一种运用一维数组去解决问题的思想
教
学
重
点
与
难
点
【教学重点】
1、一维数组的定义
2、一维数组的初始化
3、一维数组元素的引用
【教学难点】
1、一维数组元素的引用
2、运用一维数组进行简单的程序设计
教
法
与
学
法
【教法】
(1)讲授法+演示法+实训法
教师首先讲授相关理论知识,在讲授过程过幻灯片等教学媒体进行演示,并在每一个知识点的相应位置安排相关的实践训练。
这种教学方式具有实效性,学生可以及时发现问题,提出问题,教学过程是双向的,但于查漏补缺。
【学法】
(1)观察法+作业练习法
上课时老师在放映PPT讲解理论知识时,学生认真听取,并随时可以在过程中提出自己的疑问。
在每个知识点的训练题目中,学生认真练习。
学
具
准
备
黑板、粉笔,投影仪,课件幻灯
教学过程
【新课导入】
(1)创设情景法+巧设悬疑法
假设现在是期末考试结束,要求统计全班35名同学的C语言成绩,然后将这些数据存储起来,等到教务处需要登记分数的时候再将它们显示出来。
那么,这35个数据应该怎么处理呢?
变量如何定义呢?
难道要定义35个变量?
学生进行思考,然后由些导入新课一维数组的学习。
【新授教学】
一、数组概述:
概念:
数组是有序数据的集合。
在我们现实生活中,哪些事物用到了数组呢?
一个班级学生的成绩,工厂工人的工资等。
它们有什么共同的特点?
特点:
1,具有相同的数据类型
2,各元素在存中是按先后顺序存放的
3,用一个数组名和下标来唯一地确定数组中的元素
二、一维数组的定义
格式:
类型说明符 数组名[常量表达式];
例如:
int a[10]
它表示定义了一个整型数组,数组名为a,此数组有10个元素。
说明:
(1)数据类型是用来说明数组元素的类型:
int,char,float
(2)数组名的命名应遵守标识符的命名规则,但是不能与其他变量
同名
(3)在定义数组时,需要指定数组的元素个数。
方括号[]中的常量表达式表示的是数组元素的个数,即数组的
长度
(4)常量表达式中可以包括常量和符号常量,但不能包含变量
判断下面的定义是否合法:
intb,b[5];//不合法,数组名不能与变量名同名
#definesize10
intb[size];//合法,size已经在宏定义中说明,在程序中作为符号常量
inta(6);//不合法,数组名后不能使用(),只能用[]
intn=5;
inta[n];//不合法,不能用变量定义数组元素的个数
inta[n+2];//不合法,不能用变量表达式定义数组元素的个数
一维数组的存储结构:
C语言在编译时给数组分配一段连续的存空间。
存字节数=数组元素个数*sizeof(元素数据类型)
数组元素按下标递增的次序连续存放。
数组名是数组所占存区域的首地址,即数组第一个元素存放的地址。
例inta[5];
假设首地址是2000
a[0]
a[1]
a[2]
a[3]
a[4]
存地址20002002200420062008
占用字节数为:
5*sizeof(int)=5*2=10
三、一维数组元素的引用
引用形式:
数组名[下标]
下标可以是整型常量或整型表达式
注意事项:
1,数组必须先定义,后使用
如以下操作是错误的:
intx=a[2];
inta[10];
2,只能逐个引用数组元素,不能直接引用整个数组型变量
例如要输出有10个元素的数组,则必须使用循环语句逐个输出:
for(i=0;i<10;i++)
printf("%d",a[i]);
而不能用一个语句输出整个数组。
下面的写法是错误的:
printf("%d",a);
3,数组下标从0开始
下标的最小值为0,最大值是数组大小减1。
例:
给定一个整型数组score。
数组中存放了存放五个数据,分别为:
82,79,65,91,86,
现要将它们全部输出。
方法一:
printf("%d",score[0]);
printf("%d",score[1]);
printf("%d",score[2]);
printf("%d",score[3]);
printf("%d",score[4]);
方法二:
for(inti=0;i<5;i++)
{
printf("%d",score[i]);
}
两种方法进行比较?
分别适用于什么情景?
哪种方式更加有效率呢?
4、一维数组的初始化
数组的初始化主要有两种方法:
一、数组定义时初始化
在定义数组时给数组元素赋初值。
其初始化的一般格式为:
数据类型数组名[数组元素个数]={值1,值2,…,值n};
说明:
(1)数组元素的值可以是数值型、字符常量或字符串。
(2)数组元素的初值必须依次放在一对大括号{},各值之间用逗号隔开。
(3)在进行数组的初始化时,{}中值的个数不能超过数组元素的个数。
例如:
inta[5]={1,2,3,4,5,6};是一种错误的数组初始化方式
(4)在给数组所有元素赋初值时,可以不指定数组长度。
例如:
inta[]={1,2,3,4,5};则系统会自动定义数组a的长度为5。
在定义时赋初值是一种简单而行之有效的方法,它适用于长度较小的数组或对长度较大的数组部分元素赋值,而且可对每个数组元素赋不同的值。
二、在程序中初始化
主要使用循环语句进行逐一赋值
例如:
inti,score[50];
for(i=0;i<50;i++)
score[i]=0;
这种方法是在编程中普遍使用的一种方法,它适用于对某数组元素进行有规律的赋值或接受用户通过键盘输入对数组元素的赋值。
初始化下列两个数组
1,浮点型的数组a,长度为20,依次赋值2.0,21.5,15.3,后面全为0
2,整型的数组b,长度为10,依次赋值0-9。
答案一:
floata[20]={2.0,21.5,15.3}
答案二:
intb[10];
for(i=0;i<=9;i++)
a[i]=i;
结合这个例题加深对两种赋值方式的理解,它们各自适用于哪种情况?
【巩固训练】
1、C语言编程实现长度为5,类型为float的一维数组的定义、初始化和数组元素的引用。
2,编写一个程序实现从键盘输入全班35名同学C语言成绩,然后将35个成绩存储并打印出来。
【总结强化】
本节课学习了:
1,数组的概念和特点
2,一维数组的定义
3,一维数组的存储
4,一维数组的引用
5,一维数组的初始化
重点:
一维数组定义、引用与初始化的一般形式
【作业拓展】
1、每个学生课后在实际生活中找出3个用到数组知识来进行数据存储的例子,并说明为什么用数组
2、编程实现:
定义一个长度为50的一维数组,依次赋值为:
1,2,3.....50,然后输出第10个,20个,30个,40个,50个元素的值,并对这50个数据进行求和
板
书
设
计
7.1数组
7.1.1一维数组的概念
物理上前后相邻、类型相同的一组变量作为一个整体引入C语言,这个整体成为(一维)数组类型的变量,简称(一维)数组。
其中每个变量称为数组元素,变量的个数称为数组长度或数组容量。
7.1.2一维数组的定义
类型说明符数组名[常量表达式]
如:
inta[5]
7.1.3一维数组的初始化
类型说明符数组名[常量表达式]={值,值……值};
如:
inta[5]=(12,14,54,24,10}
7.1.4一维数组的引用
数组名[元素下标]
如:
我要表示值为14的这个元素,则引用为a[1]
注意:
下标从0开始
7.1.5一维数组程序举例
效
果
预
测
与
反
思
本次课程通过理论讲解与三个实验的结合,学生已经能够初步掌握一维数组的定义、初始化与引用,达到了教学目的。
本次课程注重重点与难点的突出和突破,通过任务驱动法,学生能够自主独立完成教学任务。
本次课程的不足之处在于,虽然大部分同学已经掌握了学习容,但是由于班级学生水平不一,参差不齐,一小部分同学可能还跟不上。
而且课程设计偏向简单了,对于某些学习能力强的同学,可能激发不了多大兴趣。
因此,下次教学设计要注意因材施教,对于不同学生采取不同教法与学法。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数组 教学 设计