一维数组的定义与引用教案
- 格式:docx
- 大小:43.46 KB
- 文档页数:4
“一维数组”教学方案【课题】一维数组【学时】50分钟【授课学生分析】教学对象为大学本科学生,通过前面程序的基本结构(顺序结构、选择结构、循环结构)的学习,学生已具备一定的编程能力,为学习数组的应用打下了基础。
【教学目标】1、知识目标理解数组的概念,掌握对数组的定义、初始化、引用的应用。
2、能力目标通过对数组定义、引用的掌握,引导学生利用数组解决同类型的多变量的问题,培养和提高学生逻辑思维能力,提高动手编程能力。
3、情感目标利用上机分组操作,培养学生的协作精神。
激发学生学习兴趣,使学生积极参与体验成功的快乐。
【重点难点】重点:一维数组的定义、一维数组的初始化、一维数组的引用难点:一维数组的引用、一维数组的应用【教学方法】1、采用案例、情境、启发式教学法。
2、以例子讲解→练习→引发学生思考为流程;循序渐进的教学策略。
3、运用“提出问题→学生尝试→演示与交流→解决问题”的课堂教学模式。
【教学策略】基本知识采用的基本模式:提出问题→学生尝试→演示与交流→解决问题。
然后是能力拓展,学生分组从其它工作表中挑选内容完成挑战,适用于分层进行教学,最后展示与交流,使学生享有成就感,充分发挥学生的应用知识的能力。
以学生为主、教师引导并给予鼓励,充分发挥学生的主体性及积极性。
【教学过程】【教学后记】专业班的学生基础较好,旧知识点没有过多的强调。
在整个教学过程中,紧紧围绕提出问题——分析问题——解决问题三个环节,充分体现了学生的主体地位、以及对学生各种能力的培养。
对于本次课的重点、难点,我通过启发引导、提出问题、巩固练习等形式,充分调动学生的学习积极性,使他们参与到教学的整个过程,让学生在积极思考,积极探索中掌握新知识、消化本节课的重点、难点。
23.一维数组数组用于解决大批量数据的处理,本节课要求学生掌握一维数组的定义和应用,通过这些知识的学习,掌握成批数据的处理的一般方法,进一步提高应用程序编写的基本能力。
一、数组的概念在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。
这些按序排列的同类数据元素的集合称为数组。
在C语言中,数组属于构造数据类型。
一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。
因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
二、一维数组的定义在C语言中使用数组必须先进行类型说明。
数组说明的一般形式为:类型说明符数组名[常量表达式],……;其中,类型说明符是任一种基本数据类型或构造数据类型。
数组名是用户定义的数组标识符。
方括号中的常量表达式表示数据元素的个数,也称为数组的长度。
例如:int a[10]; 说明整型数组a,有10个元素。
float b[10],c[20]; 说明实型数组b,有10个元素,实型数组c,有20个元素。
char ch[20]; 说明字符数组ch,有20个元素。
对于数组类型说明应注意以下几点:1.数组的类型实际上是指数组元素的取值类型。
对于同一个数组,其所有元素的数据类型都是相同的。
2.数组名的书写规则应符合标识符的书写规定。
3.数组名不能与其它变量名相同,例如因整形变量与数组变量同名,是错误的。
4.方括号中常量表达式表示数组元素的个数,如a[5]表示数组a 有5个元素。
但是其下标从0开始计算。
因此5个元素分别为a[0],a[1],a[2],a[3],a[4]。
5.不能在方括号中用变量来表示元素的个数, 但是可以是符号常量或常量表达式。
例如:是合法的。
但是下述说明方式是错误的。
6.允许在同一个类型说明中,说明多个数组和多个变量。
例如: int a,b,c,d,k1[10],k2[20];三、一维数组的存储1、从逻辑角度看,一维数组可以认为是一个一行多列的表格。
实验⼗——⼀维数组的定义及引⽤1.本次课学到的知识点:(1)⼀维数组定义的⼀般形式:类型名数组名 [数组长度];类型名指定数组中每⼀个元素的类型;数组是数组变量的名称;数组长度是⼀个常量;数组名是⼀个地址常量,存放数组内存空间的⾸地址。
(2)数组元素的引⽤形式:数组名[下标]下标可以是整型表达式;合理范围是[0,数组长度-1]不能越界。
(3)⼀维数组初始化的表达形式:类型名数组名[数组长度]=[初值表];C语⾔中只能对静态存储数组初始化,静态存储数组如果没有初始值,系统会⾃动给所有的数组元素赋值为0。
(4)可将下标作为循环变量,可以对数组的所有元素逐个进⾏处理。
(5)选择排序法2.实验过程中遇到的问题及解决⽅法:(1)算法的程序流程还不是特别清楚。
(2)多看书、多练习。
3.实验⼼得体会及本章学习总结:(1)⼼得体会:在最近⼏次的作业练习中,增加了⾃⼰对题⽬的理解与思考,不再像以前⼀样对照书本模仿。
每当做出⼀道新题⽬的时候,还是蛮有成就感的(~ ̄▽ ̄)~(2)学习总结:本章学习了⼀种最基本的构造类型——数组,它是⼀组相同类型数据的有序结合。
数组中的元素在内存中连续存放,每个元素都属于同⼀种数据类型,⽤数组名和下标可以唯⼀的确定数组元素。
这是与之前不同的新内容,更需要付出100%的努⼒去学习。
4.预习:⼆维数组:(1)⼆维数组定义形式:类型名数组名 [⾏长度] [列长度];(2)⼆维数组的引⽤要引⽤两个下标,形式为:数组名 [⾏下标] [列下标]⾏下标合理范围[0,⾏长度-1],列下标合理范围[0,列长度-1](3)⼆维数组初始化⽅法⼀:分⾏赋初值⼀般形式:类型名数组名 [⾏长度] [列长度]={{初值表0},…,{初值表k},…};⽅法⼆:顺序赋初值⼀般形式:类型名数组名 [⾏长度] [列长度]={初值表};。
一维数组教学设计方案
一维数组是计算机编程中非常重要的概念之一,它可以用于存储和管理多个相同类型的数据。
在计算机编程教学中,一维数组是一个基本的概念,掌握了一维数组的使用和操作,学生将能够更好地理解和解决实际问题。
以下是一维数组教学设计的方案,旨在帮助学生掌握一维数组的基本概念和操作。
1. 目标和预期结果
- 学生能够理解一维数组的概念和用途。
- 学生能够声明和初始化一维数组。
- 学生能够通过下标访问和修改数组元素。
- 学生能够使用循环结构遍历一维数组。
2. 教学方法和步骤
(a) 引入:
- 通过实际的例子引入一维数组的概念,例如学生的成绩列表或购物清单。
- 引发学生的思考,让他们意识到使用一维数组可以更有效地管理大量数据。
(b) 基本概念:
- 解释一维数组的定义和特点,即多个同类型数据的有序集合。
- 强调数组元素的索引是从0开始的,并解释如何通过下标访问和修改数组元素。
(c) 声明和初始化:
- 演示如何声明和初始化一维数组,包括指定数组元素的个数和类型。
- 强调数组元素的命名规则和初始化方法(逐个初始化或一次性初始化)。
(d) 数组操作:。
C语言程序设计教案课程:C程序设计制订日期:2015-11-7例如:定义数组int a[10];表示定义了一个整型的数组a,含有10个元素(每个元素都是整型)。
其说明如图6.1所示。
图6.1 数组定义的说明数组一旦定义,各数组元素名就确定了。
数组元素的一般形式为:数组名[下标]数组的第一个元素的下标总是从0开始的。
对于上面所定义的数组a[10],其元素依次为a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]。
其实,数组名代表的是数组的首地址,下标则是数组元素到数组开始的偏移量。
系统为数组在内存分配的是一片连续的存储的单元,如定义了“int a[10];”,则它的10个元素在内存中的排列情况如图6.2所示:图6.2 一维数组元素在内存中的排列情况2.一维数组的初始化数组初始化是指在数组定义时给数组元素赋予初值。
数组初始化是在编译阶段进行的。
这样将减少运行时间,提高效率。
数组初始化赋值的一般形式为:数据类型数组名[常量表达式] = {值,值,……,值};其中在{ }中的各数据值依次为各元素的初值,各值之间用逗号间隔。
例如:int a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };相当于a[0] = 0; a[1] = 1; ...; a[9] = 9;数组初始化赋值的几点说明:(1)可以只给部分元素赋初值。
当{ }中数据值的个数少于元素个数时,只给前面部分元素赋值。
例如:int a[10] = {0, 1, 2, 3, 4};表示只给a[0]~a[4]这5个元素赋值,而后5个元素将被编译器自动赋0值。
如图6.3所示。
图6.3 未赋值的元素自动被0填充(2)只能给元素逐个赋值,不能给数组整体赋值。
例如:给十个元素全部赋1值,只能写为:int a[10] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1};而不能写为:int a[10]=1;(3)如在定义数组时给全部元素赋初值,则在数组定义的说明中,可以不显式的指出数组容量,系统会以给出的数值个数默认为数组容量。
C语言教学中一维数组的教学设计1 引言数组是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,用编号区分这些变量的集合。
这个名字称为数组名,编号称为下标,组成数组的各个变量称为数组的元素。
数组是C语言程序设计中非常重要的概念,学习数组的第一步是要掌握一维数组的定义、引用,以及初始化赋值方法。
2 教学方法简述(1)讲授法在理解数组的概念时需要使用讲授法配合课件进行活泼、有趣的讲解。
在教学过程中切忌照本宣科,这样容易让学生感到厌烦和枯燥,课件应制作得美观、生动,如选择美观大方的课件模板,结合节奏适宜的动画,在举例时尽量附上有关的图片等。
(2)“教、学、做”三位一体教学法对于出现的代码示例,教师边演示边讲解,学生随后模仿学习、上机操作。
既锻炼了学生的实际动手能力,又使学生对所学知识有了更深刻的印象。
(3)协同学习法由于学生学习水平有差异,基础好的学生可以给基础差的学生讲解,学生之间传递的知识往往比老师传授的更容易接受,这样基础差的学生有了初步的认识,基础好的学生得到知识的巩固。
3 教学过程设计(1)教学引入教师用超市中可以存储东西的储物柜类比C语言中的数组,提及柜子上有编号,为后面介绍数组的下标作铺垫。
语言组织举例:我们都见过超市的储物柜,一排柜子上有编号,柜子中可以存储东西,在C语言中也有类似的储物柜――数组。
(2)数组的基本概念教师将学过的概念――变量,比作小箱子,再将数组解释为连着的小箱子,并且点出数组的重要特点――数组中的元素必须为相同的数据类型。
语言组织举例:如果我们把变量比喻成小箱子,那么数组就是把这些小箱子都连起来。
连起来的箱子的类型必须都是一样的,这样方便我们存储一些同类型的内容。
比如,每门课的考试分数装入连着的一个个小箱子中,这些连着的小箱子就是一个数组。
教师用代码段举例不同类型的数组。
例:int array1[6];/*这个数组存的是整数,能存6个整数*/float array2[6];/*这个数组存的是实数,能存6个实数*/char array3[6];/*这个数组存的是字符,能存6个字符*/(3)一维数组的定义教师提问,能从上面的代码段中总结出数组的定义方法吗?学生思考,通过观察可以发现三个数组定义都是采用的数据类型名字[数字]的格式,通过注释可以猜测[]中的数字是数组能存放的数据个数。
实验五一维的数组的定义及使用一、实验目的1.掌握一维数组的定义及赋值操作;2.掌握一维数组元素的引用方法;3.掌握一维数组的输入/输出方法;4.掌握与数组有关的基本算法(尤其是排序算法).5.学会调试程序.二、实验内容(实验报告中第一题只要写出结果即可,其余2题要求写程序代码及调试结果)1、上机运行程序,写出程序的运行结果.(要求先自己分析程序写出结果,再上机调试,写出调试得到的结果)main(){int a[]={1,2,3,4},i,j,s=0;j=1;for(i=3;i>=0;i--){s=s+a[i]*j;j=j*10;}printf(“s %d \n”,s);2、输入10个学生的成绩,统计最高分和最低分及平均分,并输出。
3、用冒泡法对给定的10个数按降序排序。
程序参见教材P136三、仪器、设备、材料微机四、实验准备1.理论知识预习及要求①数组定义及数组元素的书写规范;②一维数组的定义及元素的引用方法;③一维数组的输入/输出实现方法;④一维数组的基本算法及实现。
2.实验指导书预习及要求对程序执行流程不清楚时,请先画出程序的流程图.上机前先思考编出程序,并分析结果,上机时调试,并写出实验结果。
3.其他准备无五、实验原理或操作要点简介利用循环语句实现数组的输入/输出的方法;数组元素的引用方法;一维数组的常用算法—尤其是排序算法。
六、注意事项及时保存文件,避免死机或断电造成的文件丢失。
调试程序过程中,出现问题找不出来时,请保存源程序,请老师解答。
不要删除错误程序后,口头描述错误。
调试过程中,若出现问题,请仔细观察TC编辑器给出的错误提示,逐步学会程序调试.七、实验过程与指导1.进入TC2.0环境。
2.Alt+F激活“File”菜单项,方向键下移选择“New”菜单项,回车,新建一个文件。
3.输入源程序。
4.Alt+C激活“Compile”菜单项,选择“Compile to OBJ”,回车,编译成目标文件。
学习必备欢迎下载
课题序号1授课日期第周月日(星期)
授课班级10单招、10计
算机
授课课时2授课形式理论
授课章节名称
使用教具一维数组的定义与引用
无
教学目的1、了解数组的基本概念。
2、掌握一维数组定义、引用;
4、提高学生编写程序的能力
教学重点掌握一维数组定义、引用;
教学难点掌握一维数组定义、引用;
更新、补
充、删节无
内容
课外作业补充
教学步骤
导入新课
新课讲授
学习必备欢迎下载
课堂教学安排
教学内容
一维数组的定义
在C语言中,变量必须先定义,后使用。
数组也是如此,使用数组
时必须先定义,后引用。
定义一维数组的格式为:
类型说明符数组名[整型常量表达式],…;
例如:int a[10],b[5];
说明:
⑴它表示定义了两个一维数组,一个数组名为a,另一个数组名为b。
数组名是按照“标识符”的规则构成的。
⑵a数组含有10个数组元素,即a[0]、a[1]、a[2]、…、a[9];b数
组含有5个数组元素,即b[0]、b[1]、b[2]、b[3]和b[4]。
注意,不能使
用a[10]和b[5],否则即出现数组超界现象。
⑶类型说明符int说明a数组和b数组中的每个元素均占2个字节,
只能存放整型数据。
类型说明符可以是任何基本类型,如float、double、
char等;也可以是以后要介绍的其它数据类型,如结构型、共用型等。
⑷整型常量表达式可以是整型常量或符号常量。
最常见的是整型常量。
不允许为变量。
⑸C编译程序(如Turbo C)为a数组在内存中分配了10个连续的数
组单元(共占20个字节),为b数组在内存中分配了5个连续的数组单元(共
占10个字节),如图7-1所示。
a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]b[0]b[1]b[2]b[3]b[4]
图7-1
⑹C编译程序还指定数组名a为a数组的首地址,即a与&a[0]等价;
指定数组名b为b数组的首地址,即b与&b[0]等价。
也就是说,在C语言
中,每个已定义的数组,其数组名有两个作用,其一代表该数组的名称;其
二代表该数组在内存中的首地址。
教学
方法
及
双边
活动
、 (
课堂
提问 讨论 课堂 小结
步骤 五 布置 作业
学习必备 欢迎下载
7.1.2 数组元素的引用
当定义了某数组后,就可以引用该数组中的任何元素了。
引用形式为:
数组名[下标]。
例如,前面定义过的 a 数组,可以引用的数组元素为 a [0]、a[1] a[2]、…、
a[9]。
【例 7-1】数组元素的引用例子。
程序如下:
main( )
{ int a[10],b[5]={55,44,33,22,11},i;
for(i=0;i<10;i++)
{ a[i]=i+1;
printf(“%4d”,a[i]);}
printf(“\n”);
for(i=0;i<5;i++)
printf(“%4d”,b[i]);
printf(“\n”);
}
在引用时应注意以下几点:
⑴ 引用时只能对数组元素引用。
如【例 7-1】中的 a[i],b[i];而不
能引用整个数组,如【例 7-1】中的 a 或 b 。
⑵ 在引用数组元素时,下标可以是整型常数、已赋值的变量或含变量
的表达式。
如【例 7-1】中 a[i],b[i] 的下标 i 就是已赋值的变量。
⑶ 由于数组元素本身可看作同一类型的单个变量,因此,对变量的各
种操作也都适用于数组元素。
如【例 7-1】中对数组元素 a[i]的赋值操作和
输出操作。
⑷ 引用数组元素时,下标上限(即最大值)不能超界。
也就是说,若
数组含有 n 个元素,下标的最大值为 n -1, 因下标从 0 开始);若超出界限,
C 编译程序并不给出错误信息(即其不检查数组是否超界),程序仍可以运行,
但可能会改变该数组以外其它变量或其它数组元素的值,由此会造成不正确
的结果。
如【例 7-1】,若误将第一个 for 语句中的 i<10 写成 i<=10,就会
出现下标超界现象 a[10]=11,程序运行后,b 数组中的 b[0]原值 55 被错误
地改变为 11
学习必备欢迎下载
板书设计数组:
具有相同数据类型的数据的有序的集合。
数组元素:
数组中的元素。
数组中的每一个数组元素具有相同的名称,不同的下标,可以作为单个变量使用,所以也称为下标变量。
在定义一个数组后,在内存中使用一片连续的空间依次存放数组的各个元素。
数组的下标:
是数组元素的位置的一个索引或指示。
数组的维数:
数组元素下标的个数。
根据数组的维数可以将数组分为一维、二维、三维、多维数组。
教学后记。