第十六讲 数组(二).ppt

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

第十六讲 数组(二) 1、二维数组的定义 2、二维数组的引用 3、二维数组的初始化 4、程序举例 7.2 二维数组的定义和引用 * 先看一个例子: 某校近三年招收各专业毕业生情况如下: 计算机 电子 管理 数学 1999 90 40 80 30 2000 100 50 90 40 2001 95 45 100 50 要把这些数据组织起来,可以有两种选择: ⑴按从左到右从上到下的顺序存入一个一维数 组中。(查询困难) ⑵每年用一个一维数组,把这些数据分别存入 三个数组中。 (增加一年数据困难) 一、二维数组的定义 定义二维数组的一般方式: 类型说明符 数组名[常量表达式1][常量表达式2]; 如: int a[3][4]; 存储形式: 二维数组在内存中是按行的顺序存放的,即先存放第一行的元素,再存放第二行的元素。 说明: 二维数组除了维数比一维数组多一维外, 其它性质与一维数组是全部类似的。 看看下面写法是否正确? ① int a[0][3]; 用于定义数组长度的常量表达式的值必须是大于0的正整数。 ② int i=3 , j=4 ; int a[i][j] ; 定义数组元素的个数必须使用常量表达式,而不能使用变量。 二、二维数组的初始化 这里主要介绍定义时初始化,其它方法初始化和一维数组类似。定义时初始化有两种方法: ⑴分行初始化 例如:int a[2][3]={{1 , 2 , 3 } , { 4 , 5 , 6 }}; ⑵省略掉内层的花括号 即按数组元素在内存中排列的顺序赋初值。 例如:int a[2][3]={1 , 2 , 3 , 4 , 5 , 6 }; 说明: ⑴ 在对二维数组初始化时,也可以只对部分数组元素初始化,未被初始化的数组元素将自动赋 0 。 int a[2][3]={{5,6},{7,8}}; int a[2][3]={5,6,7,8}; 如: 得到的数组为: 5 6 0 7 8 0 得到的数组为: 5 6 7 8 0 0 ⑵在对二维数组初始化时,如果对全部元素都赋初值,或分行赋初值(每行至少一个数据),则可以省略第一维数组长度。但是,第二维数组长度不允许省略。 如: int a[][3]={1,2,3,4,5,6,7,8,9}; int a[][4]={{1,2},{3,4,5,6},{7}}; 系统按3行处理 int a[][10]={1,0}; float f[2][]={1.1,2.2}; 三、二维数组的引用 与引用一维数组元素一样,是用下标法引用二维数组元素的。 表示形式: 数组名[行下标][列下标] 其中,行下标和列下标是整型常量、整型变量或整型表达式。其编号是从0开始的。 例如:若有 int a[2*5][3*4], i=15; 则使用 a[3*3][0], a[1][i-5]都是合法。 说明:数组名a代表的是数组a在内存中的首地址,因此,可以用数组名a来代表数组元素a[0][0]的地址。 四、二维数组应用举例 例1:使用数组保存“九九表”,然后输出。 main() { int a99[10][10], i, j ; for(i=1; i 10; i++) for(j=1; j=i; j++) a99[i][j]=i*j; for(i=1; i10; i++) { for(j=1;j=i; j++) printf(“%6d,a99[i][j]); printf(“\n”); } } 例7.4:矩阵的转置。(书中例7.4) a= 1 2 3 4 5 6 b= 1 4 2 5 3 6 转换成 main() { int a[2][3]={{1,2,3},{4,5,6}}; int b[3][2], i,j; printf( array a:\n); for(i=0;i=1;i++) { for(j=0;j=2;j++) {

文档评论(0)

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

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

1亿VIP精品文档

相关文档