1、二维数组及多维数组,二维数组,在程序设计中,有时用一维数组还不能 解决问题或解决问题不方便.例如,描述1个班50个学生的成绩,可以用一维数组解决,但要描述学校30个班级的成绩,用一维数组就很不方便,此时就可以采用二维数组. 二维数组是一维数组的推广,二维数组可以看成是以一维数组为元素的一维数组,二维数组的定义,二维数组定义的一般形式: 数据类型 数组名常量表达式1常量表达式2 说明: 常量表达式1定义了数组的行数,因此常把常量表达式1叫做行 常量表达式2定义了每行有几个元素,称为数组的列数,因此常量表达式2也叫做列 数组总共的个数为:常量表达式1*常量表达式2 二维数组的第一维下标和第二维下标
2、都是从0开始 例如:int a32; float score10050;,数组的存储,数组一旦定义,编译程序就会为每个数组安排一片连续的存储单元,依次存放数组的各个元素 对于一维数组,其元素按下标递增方向依次存放,例如 int a3; 对于二维数组来说,优先按行的顺序依次存放各行的元素。例如:int a32;,二维数组的初始化,跟一维数组一样,二维也可以在定义的时候进行初始化,将所赋初值依次放在右边的花括号中,数组中的每行元素再用一对花括号括起来 例如:int a23=2,4,6,1,3,5; 数组中的每行元素的一对花括号可以省略。例如:int a23=2,4,6,1,3,5; 在给二维数组赋
3、初值时,对第一维的长度可以不指定,但对第二维的长度必须指定。例如: int a 3=2,4,6,1,3,5;,二维数组的初始化,除了对二维数组可以全部赋初值外,还可以对部分元素赋初值 对于部分赋初值,必须对数组的每行元素都用1对花括号括起来。例如: int a23=0,4,8; 在定义只对部分元素赋初值的时候,可以省略第一维的长度。例如: int a 3=0,8;,二维数组,例题1:输入20个整数,存入一个45的二维数组中,输出其中行号和列号和为6的数,二维数组,例题2:输入2个44的矩阵,求这2个矩阵之和。 矩阵的加法运算:将对应的项相加即可,例如下面2个34的矩阵相加:,多维数组,类似于二维数组,在C语言中还有多维数组 多维数组的一般定义形式: 数据类型 数组名常量表达式1常量表达式2 常量表达式n; 类似于二维数组,多维数组在内存中存储的顺序是依次以靠前的常量表达式为主,二维数组,例题3:输入n,打印一个nn的矩阵,第一行是从1n,第二行是2nn+1,第三行是2n+13n,以此类推。例如,n=3,打印的矩阵如下: 1 2 3 6 5 4 7 8 9,练习,输入一个44的矩阵,求出矩阵的2个对角线上元素的和 教材P146的第5题,