一、知识点总结:
1、二维数组的定义和引用:
1)定义:定义形式为:
类型名 数组名 [行长度][列长度];
例如:

int a[3][2];
/*定义一个二维数组a,3行2列,共六个元素。*/

2)引用:引用二维数组的元素要指定两个下标,即行下标和列下标,形式为:
数组名[行下标][列下标];
行下标的合理取值范围是[0,行长度-1],列下标的合理取值范围是[0,列长度-1]。

2、二维数组的初始化:
1)分行赋初值:
一般形式为:
类型名 数组名 [行长度][列长度]={{初值表0},...,{初值表k},...};
把初值表k中的数据依次给第k行的元素。例如:

int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};

二维数组的初始化也可以只针对部分元素,例如:

static int b[4][3]={{1,2,3},{},{4,5}};

只对b数组第0行的全部元素和第二行的前两个元素赋初值,其余元素的初值都是0。

2)顺序赋初值:
一般形式为:类型名 数组名[行长度][列长度]={初值表};
根据数组元素在内存中的存放顺序,把初值表中的数据依次赋给元素。例如:

int a[3][3]={1,2,3,4,5,6,7,8,9};
/*等价于*/
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};

如果只对部分元素赋初值,要注意初值表中数据的书写顺序。例如:

static int b[4][3]={1,2,3,0,0,0,4,5}
/*等价于*/
static int b[4][3]={{1,2,3},{},{4,5}}; 

二维数组初始化时,如果对全部元素都赋了初值,或分行赋初值时,在初值表中列出了全部行,就可以省略行长度,例如:

int a[][3]]={1,2,3,4,5,6,7,8,9};
/*等价于*/
int a [3][3]={1,2,3,4,5,6,7,8,9};

3)字符串存储:
一般形式为:

static char s[6]={'h','a','p','p','y','\0'};

字符数组初始化,用字符串变量

static char s[6]={"happy"};
static char s[6]="happy";
/*数组长度>=字符串的有效长度+1*/

字符串的有效长度:有效字符的个数。
字符串由有效字符和字符串结束符'\0'组成。
采用赋值的方法将字符串"a"存入数组s。它等价于:

static char s[80]="a";

区分"a"和'a':前者是字符串常量,包括'a'和'\0'两个字符,用一维数组存放;后者是字符常量,只有一个字符,可以赋予给字符变量。

 

3、矩阵的术语与二类数组下标的对应关系:

术语                    含义 下标规律
主对角线 从矩阵的左上角至右下角的连线 i==j
上三角 主对角线以上的部分  i<=j
下三角 主对角线一下的部分 i>=j
副对角线 从矩阵右上角至左下角的连线。 i+j==N-1

 









二、实验过程中遇到的问题及解决方法:
此次试验主要是对上课知识的巩固,练习,难度不是很大,但是应注意一些零碎的知识点,注意下标不要越界。

 

三、实验心得体会:

此次试验运用到了二维数组的知识点,学会了应用二维数组算日期等,内容并不难,但要理解内容,做到运用娴熟。

posted on 2016-11-20 01:23  无声的梦  阅读(510)  评论(1编辑  收藏  举报