c程序设计 第7章 数组.ppt

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

重点: 一维数组的定义和引用  二维数组的定义和引用  字符数组 C语言构造类型的数据,它们有: 数组类型、结构体类型、共用体。 构造类型数据是由基本类型数据按一定规则组成的。 数组是有序数据的集合。数组中的每一个元素都属于同一个数据类型。用一个统一的数组名和下标来唯一地确定数组中的元素。 7.1 一维数组的定义和引用 7.1.1 一维数组的定义 说明: (1) 数组名定名规则和变量名相同。 (2) 数组名后是用方括弧括起来 (3) 常量表达式表示元素的个数。 a[10]中,10表示a数组有10个元素, a[0],a[1],a[2],a[3],……,a[8],a[9]。 (4) 常量表达式中可以包括常量和符号常量,不能包含变量。 例7.1 数组元素的引用。 s=a1+a2+……+a10 main() { int i,a[10]; for (i=0; i=9;i++) a[i]=i; for(i=9;i=0; i--) printf(%d\n,a[i]); } 7.1.3 一维数组的初始化 在定义数组时对数组元素赋以初值。 int a[10]={0,1,2,3,4,5,6,7,8,9}; (2) 可以只给一部分元素赋值。 int a[10]={0,1,2,3,4}; (3) 全部数组元素赋初值时,可不要数组长度 int a[5] = {1,2,3,4,5};  可以写成:  int a[] = {1,2,3,4,5}; 7.1.4 一维数组程序举例 例7.2 用数组来处理求fibonacci数列问题。 main() { int i; int f[20]={1,1}; for(i=2;i20;i++) f[i]=f[i-2]+f[i-1]; for(i=0;i20;i++) { if(i%5==0) printf(\n); printf(%12d,f[i]); } } 7.2.1 二维数组的定义 二维数组定义的一般形式为类型说明符: 数组名[常量表达式][常量表达式] 例如:float a[3][4],b[5][10]; 定义a为3×4(3行4列)的数组,b为5×10(5行10列)的数组。 下标:0-2,0-3 按行存放 元素: 数组名[下标1][下标2] 7.2.3 二维数组的初始化 (1) 分行给二维数组赋初值。如 int a[3][4]={{1,2,3,4},{5,6,7,8}, {9,10,11,12}}; (2) 将所有数据写在一个花括弧内,按数组行排列的顺序对各元素赋初值。 int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; (3) 可以对部分元素赋初值,其它初值为0。 int a[3][4]={{1},{5},{9}};/* 第1列 */ int a[3][4]={{1},{0,6},{0,0,11}}; int a[3][4]={{1},{5,6}}; int a[3][4]={{1},{},{9}}; (4) 如果对全部元素都赋初值(即提供全部初始数据),则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。   int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 与下面的定义等价:  int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12}; (5) 在定义时也可以只对部分元素赋初值而省略第一维的长度,但应分行赋初值。int a[ ][4]={{0,0,3},{},{0,10}}; 例7.4 将一个二维数组行和列元素互换,存到另一个二维数组中。例如: a=1 2 3 b=1 4 4 5 6 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++) { printf(“%5d”,a[i][j]); b[j][i]=a[i][j]; } pri

文档评论(0)

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

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档