1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第13次课-2

C程序设计 二维数组 什么是二维数组? 数组元素的引用 数组名[下标]; 赋值 注:数组元素只能单个元素赋值 如:int num[2][3]; num[0][0]=4; 从键盘输入 eg:int num[2][3]; scanf(“%d”,num[0][0]); scanf(“%d”,num[0][1]); scanf(“%d”,num[0][2]); 学生成绩 * 酒店 酒店2楼 酒店1楼 101 102 202 201 200 100 num num[0] num[1] 什么是二维数组? C语言中,数组的元素还可以是数组,这样就构成二维数组,所以二维数组还可以看成是“数组的数组” 二维数组的定义 定义二维数组: 数据类型 数组名[常量表达式1][常量表达式2] int num[2]; int num[2][3]; num num[0] num[1] 1、一种理解方式可以将表达式1理解为第一次被分割,表达式2理解为第二次被分割 2、另一种理解方式可以将表达式1理解为行,表达式2理解为列 注意:定义二维数组时不能写成int a[3,4],b(2,4) 二维数组的存储 二维数组在概念上可以理解为一个行、列的表,但是存储器是一维的,需按照一定的规则转换,在内存中: 二维数组的排列顺序是按行存放 float a[2][3]; a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] 也就是说,数组元素实际的存放顺序是右边下标比左边下标变化的快!! num num[0] num[1] num[0][0] num[0][1] num[0][2] num[1][2] num[1][1] num[1][0] 数组名[下标][下标] 二维数组元素的引用 注意: 下标可以是整型表达式 下标的最大取值,即要注意数组定义和数组引用的区别 二维数组的初始化 1、按存放顺序赋初值 如:int a[2][3] = {1,2,3,4,5,6}; 结果是:a[0][0]=1 a[0][1]=2 a[0][2]=3 a[1][0]=4 a[1][1]=5 a[1][2]=6 2、按行赋初值 如:int a[2][3] = { {1,2,3},{4,5,6} }; 结果同上 3、部分赋初值 如:int a[2][3]={1,2,3} 结果是:a[0][0]=1 a[0][1]=2 a[0][2]=3 a[1][0]=0 a[1][1]=0 a[1][2]=0 如:int a[2][3]={ {1,2} , {3} } 结果是:a[0][0]=1 a[0][1]=2 a[0][2]=0 a[1][0]=3 a[1][1]=0 a[1][2]=0 二维数组的初始化 3、部分赋初值 如:int a[2][3]={ {1,3} , {5,0,6} } 结果是:a[0][0]=1 a[0][1]=3 a[0][2]=0 a[1][0]=5 a[1][1]=0 a[1][2]=6 4、省略第一维长度 如:int a[ ][3]={ 1,2,3,4,5,6,7 } 结果是:a[0][0]=1 a[0][1]=2 a[0][2]=3 a[1][0]=4 a[1][1]=5 a[1][2]=6 a[2][0]=7 a[2][1]=0 a[2][2]=0 注意:能不能省略第二维的长度? 二维数组的赋值 for(int i=0;i3;i++) { scanf(“%d”,num[0][i]); } for(int i=0;i3;i++) { scanf(“%d”,num[1][i]); }

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档