5.2 二维数组的定义和使用 (教学设计)-高一《编程语言基础-C语言》同步精品课堂(高教版·第5版)

2023-05-18
| 7页
| 303人阅读
| 8人下载
精品

内容正文:

5.2 二维数组的定义和使用 一、教学目标 1.掌握二维数组的定义和引用 2.掌握二维数组的初始化方法 3.理解与二维数组有关的应用编程方法。 二、重点难点 1.重点:二维数组的定义和引用、初始化方法。 2.难点:与二维数组有关的应用编程方法。 三、教学时间 本任务教学,课内计划1课时。 4、 教学过程 教学过程 教学环节 教师活动 学生活动 设计意图 导入新课 在C语言中,数组的元素还可以是数组,这样就构成二维数组,称是“数组的数组”。照此办理,还可以构成三维,四维数组(称为多维数组)二维数组是多维数组中最简单,最常用的数组,它代表多维数组的基本特征。 思考、总结 充分调动学生的积极性,引入话题,为下一步学习做铺垫 讲授新课 当数组中的每个元素带有两个下标时,称这样的数组为二维数组,其中存放的是有规律地按行、列排列的同一类型数据。所以二维数组中的两个下标,一个是行下标,一个是列下标。 一、二维数组的定义 1.二维数组的定义方式: 格式: 类型说明符 数组名[常量表达式1][常量表达式2]; 2.例如: int a[10][5];float scores[5][3]; 可以看出,二维数组和一维数组基本类似,只是多了一个下标。其中的“常量表达式”的规则和一维数组相同。常量表达式也可以预先定义一个名字。 3.例如: #define M 3 #define N 5 int c[M][N]; 定义了二维数组c,它是一个具有M行N列的二维数组,共有MxN个元素。相当于定义“int c[31][5];" ,这样做的好处是要改变行数或列数只要改变M或N所代表的值即可。 二维数组可以形象地看做是行与列组成的表格,如图5-4所示。其中每个方格代表一个元素,因此只需指定行标和列标即可引用二维数组元素,二维数组元素的引用方式为: 数组名[行标][列标] 注意:数组下标从0开始,因此行标范围是0~M-1 ,列标范围是0~N-1。 4. 二维数组的引用 原则:逐一引用 方法:数组名[下标1][下标2] 下标1从0到长度-1 下标2从0到长度-1 标识符[N1][N2] Int a [4] [2] A[0] [0]……a[3][1]共8个数据 (对本例,决不可能有元素a[4][2]) 5.正因为二维数组有两个下标,所以在二维数组的应用中常结合双重循环使用,例如: for(i=0;i< M;i++) for(j=0;j<N;j++) scanf( "%d", &c[i][j]); C语言采用行优先的方式来存储二维数组,即先在内存中顺序存储第一行( 行标为0)的所有元素,再存放第二行的所有元素,以此类推。 从图5-4和二维数组的存储方式可以看出,二维数组实际上相当于多个一维数组的组合。例如:数组c可以看作由c[0]~c[2]这3个一维数组(每个一维数组长度是5)的组合,即图5-4中每一行就是一个一维数组。c[0]、c[1]、c[2]可以看做是这些一维数组的数组名。理解这些对数组的初始化及数组指针的使用将有更深的体会。 尽管二维数组是按行存储,但在实际应用中也可采用按列优先访问方式。 如下面这段程序: for(i=0;i<N;i++) for(j=0;j< M;j++) scanf( "%d", &c[j][i]); 这段程序先输入第1列(列标为0)的所有元素,然后输入第2列,以此类推。 二、二维数组的初始化 与一维数组类似,二维数组的初始化也有多种方式。 ①分行全部赋值。例如: int a[3][4]={{1,2,3,4},{5,6,7,8},{9, 10,11,12}}; 采用这种方式比较直观,很容易看出各个元素的值。 ②分行部分赋值。例如: int a[3][4]={{1,2},{5},{9,10,11}}; 它表示只为部分元素赋值,未赋值的元素为0。这种方式常用在数组中非0元素较少的情况。也可只为某几行赋值,例如: int a[3][4]={{1,2},{9,10,11}}; 它表示只为第1、2行赋值,第3行不赋值。若不给第2行赋值,则应写成如下形式: int a[3][4]={{1,2},{},{9, 10,11}}; ③按一维数组的形式赋值。例如: int a[3][4]={1,2,3,4,5, 6,7, 8, 9,10, 11,12 }; 也可只为部分元素赋值,例如: . int a[3][4]={ 1,2,3,4,5,6,7,8}; 采用一维数组的形式赋值虽然书写更方

资源预览图

5.2 二维数组的定义和使用 (教学设计)-高一《编程语言基础-C语言》同步精品课堂(高教版·第5版)
1
5.2 二维数组的定义和使用 (教学设计)-高一《编程语言基础-C语言》同步精品课堂(高教版·第5版)
2
5.2 二维数组的定义和使用 (教学设计)-高一《编程语言基础-C语言》同步精品课堂(高教版·第5版)
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。