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

2023-05-18
| 23页
| 282人阅读
| 7人下载
精品

内容正文:

编程语言基础——C语言 5.2 二维数组的定义和使用 第5章 数组 高等教育出版社 教学目标 一 掌握二维数组的定义和引用。 1 2 掌握二维数组的初始化方法。 3 理解与二维数组有关的应用编程方法。 教学重难点 二 二维数组的定义和引用、初始化方法。 1 2 与二维数组有关的应用编程方法。 导入新课 三 在C语言中,数组的元素还可以是数组,这样就构成二维数组,称是“数组的数组”。照此办理,还可以构成三维,四维数组(称为多维数组)二维数组是多维数组中最简单,最常用的数组,它代表多维数组的基本特征。 当数组中的每个元素带有两个下标时,称这样的数组为二维数组,其中存放的是有规律地按行、列排列的同一类型数据。所以二维数组中的两个下标,一个是行下标,一个是列下标。 新知讲授 四 二维数组的定义方式: 格式: 类型说明符 数组名[常量表达式1][常量表达式2]; 二维数组的定义 5.2.1 例如: int a[10][5];float scores[5][3]; 可以看出,二维数组和一维数组基本类似,只是多了一个下标。其中的“常量表达式”的规则和一维数组相同。常量表达式也可以预先定义一个名字。 例如: #define M 3 #define N 5 int c[M][N]; 二维数组的定义 5.2.1 定义了二维数组c,它是一个具有M行N列的二维数组,共有MxN个元素。相当于定义“int c[31][5];" ,这样做的好处是要改变行数或列数只要改变M或N所代表的值即可。 二维数组的定义 5.2.1 二维数组可以形象地看做是行与列组成的表格,如图5-4所示。其中每个方格代表一个元素,因此只需指定行标和列标即可引用二维数组元素,二维数组元素的引用方式为: 数组名[行标][列标] 注意:数组下标从0开始,因此行标范围是0~M-1 ,列标范围是0~N-1。 二维数组的定义 5.2.1 二维数组的引用 原则: 逐一引用 数组名[下标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.2.1 正因为二维数组有两个下标,所以在二维数组的应用中常结合双重循环使用,例如: for(i=0;i< M;i++) for(j=0;j<N;j++) scanf( "%d", &c[i][j]); C语言采用行优先的方式来存储二维数组,即先在内存中顺序存储第一行( 行标为0)的所有元素,再存放第二行的所有元素,以此类推。 二维数组的定义 5.2.1 从图5-4和二维数组的存储方式可以看出,二维数组实际上相当于多个一维数组的组合。例如:数组c可以看作由c[0]~c[2]这3个一维数组(每个一维数组长度是5)的组合,即图5-4中每一行就是一个一维数组。c[0]、c[1]、c[2]可以看做是这些一维数组的数组名。理解这些对数组的初始化及数组指针的使用将有更深的体会。 尽管二维数组是按行存储,但在实际应用中也可采用按列优先访问方式。 二维数组的定义 5.2.1 如下面这段程序: for(i=0;i<N;i++) for(j=0;j< M;j++) scanf( "%d", &c[j][i]); 这段程序先输入第1列(列标为0)的所有元素,然后输入第2列,以此类推。 二维数组的初始化 5.2.2 与一维数组类似,二维数组的初始化也有多种方式。 ①分行全部赋值。例如: int a[3][4]={{1,2,3,4},{5,6,7,8},{9, 10,11,12}}; 采用这种方式比较直观,很容易看出各个元素的值。 二维数组的初始化 5.2.2 ②分行部分赋值。例如: 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}}; 二维数组的初始化 5.2.2 ③按一维数组的形式赋值。例如: int a[3][4]={1,2,3,4,5, 6,7, 8, 9,10, 11,12 }; 也可只为部分元素赋值,例如: . int a[3][

资源预览图

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