(6.21)-第20课(5.3节-二维数组的定义和引用)_第1页
(6.21)-第20课(5.3节-二维数组的定义和引用)_第2页
(6.21)-第20课(5.3节-二维数组的定义和引用)_第3页
(6.21)-第20课(5.3节-二维数组的定义和引用)_第4页
(6.21)-第20课(5.3节-二维数组的定义和引用)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

类型说明符数组名[行数][列数];例如:inta[3][4];定义一个3行4列的数组,该数组的下标变量共有3×4个,即:a[0][0],a[0][1],a[0][2],a[0][3]a[1][0],a[1][1],a[1][2],a[1][3]a[2][0],a[2][1],a[2][2],a[2][3]二维数组的定义二维数组在内存中占一片连续存储空间二维数组在内存中的存放顺序是按行存储的。例如:inta[3][4];a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3]a[0][0]a[0][1]a[0][2]a[0][3]二维数组元素的引用二维数组的元素的引用形式为:

数组名[行下标][列下标]

其中下标应为整型表达式

例如:a[2][3]表示数组a中第2行第3列的元素注意每个下标都要用[]括起来。如a[2][1]不能写成a[2,1]

下标从0开始,并且不要越界二维数组的初始化1分行初始化inta[3][4]={

{1,2,3,4},{5,6,7,8},{9,10,11,12}};此方法较直观,第一对{}内的数据赋给第一行数组元素,依次类推2按数据在内存中的排列顺序对数组元素赋初值inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};将数据依次赋给元素a[0][0],a[0][1]……a[2][3]注意:此方法数据无明显的界限,当数据较多时容易出错3对数组的部分元素赋初值,未赋值元素自动取0inta[3][4]={{1,2},{3},{4,5,6}};

inta[3][4]={1,2,3,4,5,6};1200300045601234560000004对数组的全部元素赋初值时可以省略第一维的长度(行数),系统会根据数据的个数和第二维的长度自动求出第一维长度,但第二维长度不可省intb[][2]={1,2,3,4,5,6,7,8};数组b第一维长度为4

二维数组的理解a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3]例:

inta[3][4];二维数组a是由3个元素组成a[0]a[1]a[2]每个元素a[i]由包含4个元素的一维数组组成,a[i]可看做是数组名a[0]等价于&a[0][0]a[1]等价于&a[1][0]……二维数组的输入/输出二维数组的操作一般需要使用两重循环设:#defineN3#defineM4inta[N][M];1给二维数组a输入数据for(i=0;i<N;i++)

for(j=0;j<M;j++)

scanf(“%d”,&a[i][j]);for(i=0;i<N;i++){for(j=0;j<M;j++)

printf(“%d”,a[i][j]);

//输出第i行

printf(“\n”);

//换行}2分行输出二维数组a【例:】一个学习小组有5个人,每个人有3门课的考试成绩,求每人的平均成绩voidmain(){inti,j,a[5][3];//二维数组a存放5个人3门课的成绩

floats,ave[5];//一维数组ave存放5个人的平均成绩

for(i=0;i<5;i++){s=0;for(j=0;j<3;j++){scanf(“%d”,&a[i][j]);

s+=a[i][j];//计算每个人3门课程成绩的累加和}

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论