第8章 常用数据表示_数组(09_09_NIT_L).ppt

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

物理意义: 数组一旦定义: 在编译时在内存中开辟出一块连续的空间,空间的首地址对应于第一个元素,依次排列。 2. 二维数组元素的引用: 二维数组元素的表示形式: 数组名[行下标][列下标] 如数组元素 a[1][3]: 数组元素可以出现在表达式中,也可以赋值: b[1][2] = a[2][3]/2 ; a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23 代表第二行,第四列上的那个元素. 注意: a. 要区分定义数组时用的形式:int a[3][4] ; 和使用数组元素时的形式:a[2][3] 两种形式的含义是不同的。 b. 引用数组元素时,要保证下标值在定义的范围之内. 如定义数组: int a[3][4]; 它的行下标值范围: 0~2, 它的列下标值范围: 0~3 . 3.二维数组的初始化 可使用下列几种方法: a. 可以将所有数据写在一对花括号内。如: int a[3][4]={ 1, 2 …11,12 }; 数组按顺序给各元素赋初值. b. 可分行给二维数组赋初值: int a[3][4]={ {1, 2, 3, 4}, {5, 6, 7, 8}, {9,10,11,12} } 第一个花括号内赋给第一行,第二个花括号内的值赋给第二行, … , 外加一个花括号. c. 可以对部分元素赋初值。 如: static int a[3][4]={ {1}, {5}, {9} }; 存放情况: 1 0 0 0 5 0 0 0 9 0 0 0 d. 如果提供全部初始数据,进行赋初值,则定义数组时, 第一维长度可省去,第二维不可省. 如: int a[ ][4]={1,2, ……11,12}; 系统根据每行4列,从而可确定共3行。 即对各行第一列的元素赋初值,其它元素为0. 也可对各行中某一元素赋初值: int a[3][4]={{1},{0,6},{0,0,11}}; #includestdio.h int main() { int i,j,a[4][4]; printf(请输入16个整型数,以空格隔开\n); for(i=0;i4;i++) for(j=0;j4;j++) scanf(%d,a[i][j]); …. 例 8.5二维数组的输入输出. Ch8_8_5.c … printf(输入的数组为:\n); for(i=0;i4;i++) { for(j=0;j4;j++) printf(a[%d][%d]=%-4d, i, j, a[i][j] ); printf(\n); } return 0; } 例: 写一程序,求一矩阵的主对角线(左上到右下角)上的 元素之和. main() { int a[3][3]={1,3,5,7,9,11,13,15,17}; int sum=0, i, j; for(i=0;i3;i++) /*行 for(j=0;j3;j++) /*列 if(j==i) sum=sum+a[i][j]; printf(”sum=%d”,sum); } i=1 1 3 5 7 9 11 13 15 17 i=0 j=0 i=2 j=1 j=2 a 数组 Ch8_8_5_1.c 例:输入一串字符 , 用反序输出: #include ”stdio.h” main( ) { int i, j=0; char c1 , s[100]; while( (s[j++]=getchar( ) ) != ’\n’) ; for( i=0

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档