推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

如何在一维数组中二维数组类类推而得到?

   2023-06-17 网络整理佚名1800
核心提示:二维数组的定义二维数组定义的一般形式是:二维数组在概念上是二维的,即是说其下标在两个方向上变化,下标变量在数组中的位置也处于一个平面之中,而不是象一维数组只是一个向量。在C语言中,二维数组是按行排列的。二维数组元素的引用二维数组的元素也称为双下标变量,其表示的形式为:二维数组初始化也是在类型说明时给各下标变量赋以初值。对于二维数组初始化赋值还有以下说明:

一维数组只有一个下标,称为一维数组,其数组元素也称为单下标变量。 在实际问题中,很多量是二维的或多维的,所以C语言允许构造多维数组。 多维数组元素有多个下标来标识它在数组中的位置,所以也称为多下标变量。 本节只介绍二维数组,多维数组可以类推二维数组得到。

1、二维数组的定义

二维数组定义的一般形式是:

类型说明符数组名[常量表达式 1][常量表达式 2]

常量表达式1表示下标在第一维的长度,常量表达式2表示下标在第二维的长度。 例如:

描述了一个三行四列的数组,数组名为a,其下标变量类型为整型。 这个数组中有3×4个下标变量,即:

二维数组在概念上是二维的,也就是说它的下标在两个方向上变化,下标变量在数组中的位置也是在一个平面内,而不是像一维那样只是一个向量大批。 而实际的硬件内存是连续寻址的,也就是说,内存单元在一维空间内是线性排列的。 如何在一维内存中存储二维数组,有两种方式:一种是按行排列,即放在一行之后的第二行。 另一种是按列排列,即放置一列后,依次放入第二列。

在C语言中,二维数组是按行排列的。 即先存a[0]行,再存a[1]行,最后存a[2]行。 每行有四个元素被顺序存储。 由于数组a被描述为int类型,该类型占用两个字节的内存空间,所以每个元素占用两个字节。

2.二维数组元素的引用

二维数组的元素也称为双下标变量,它们的表示形式为:

数组名[下标][下标]

下标应该是整型常量或整型表达式。 例如:

表示a数组的三行四列的元素。

下标变量和数组声明在形式上有些相似,但两者的含义却完全不同。 数组描述中的方括号表示某一维的长度,即下标的最大值; 数组元素中的下标为该元素在数组中的位置标识。 前者只能是常量,后者可以是常量、变量或表达式。

【例1】一个学习小组有5个人,每人有三门课程的考试成绩。 求出整组科目的平均分和各科目的总平均分。

——张望李赵舟

数学 80 61 59 85 76

C 75 65 63 87 77

92 71 70 90 85

可以设置一个二维数组a[5][3]来存放5个人3门课程的成绩。 然后设置一个一维数组v[3]来存储得到的各科平均分,变量设置为全组各科平均分之和。 编程如下:

程序中首先使用了双循环。 在内循环中,依次读取某门课程的每个学生的成绩,并将这些成绩相加,然后退出内循环,将累加成绩除以5送入v[i],这就是课程平均分。 外层循环共循环三次,分别计算三门课程的平均成绩,存入v数组。 退出外循环后,将v[0]、v[1]、v[2]相加除以3,得到各科目的总平均分。 最后根据题意输出每一个结果。

二维数组的初始化

二维数组初始化也是在类型声明时为每个下标变量赋初值。 二维数组可以按行赋值,也可以按行连续赋值。

例如,对于数组 a[5][3]:

线段赋值可以写成:

按行连续赋值可以写成:

这两个初值的结果是完全一样的。

【例2】求各科的并列分和总分的平均分。

二维数组的初始化赋值也有如下说明:

1)只能给部分元素赋初值,没有赋初值的元素自动取值为0。例如:

就是给每一行的第一列元素赋值,未赋值的元素取值为0。赋值后每个元素的值为:

1 0 0

2 0 0

3 0 0

赋值后的元素值为:

0 1 0

0 0 2

3 0 0

2)如果给所有元素赋初值,可以不给第一维的长度。 例如:

可以写成:

3)数组是一种结构化的数据类型。 二维数组可以看作是由一维数组嵌套而成的。 假设一个一维数组的每个元素都是另一个数组,就构成了一个二维数组。 当然,前提是元素类型必须相同。 根据这样的分析,一个二维数组也可以分解为多个一维数组。 C 语言允许这种分解。

例如,二维数组a[3][4]可以分解为三个一维数组,数组名分别为:

这三个一维数组不用多说就可以使用。 这三个一维数组有4个元素,例如:一维数组a[0]的元素分别是a[0][0],a[0][1],a[0][2], [0][3]。 必须强调的是,a[0]、a[1]、a[2]不能作为下标变量,它们是数组名,不是简单的下标变量。

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON