- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PAGE 16
第7章 数组
在前面各章中,我们所使用的变量均是简单变量,处理的数据都是基本类型(整型、实型、字符型),因而也只能处理一些简单问题。但在实际生活中,存在很多复杂的、特殊的问题。例如学校中,就有学生的学籍、档案、成绩管理;教职工的人事档案管理等等,仅用基本的数据类型、简单变量来处理这些问题是非常麻烦的。除了基本类型的数据外,C语言还提供了构造类型的数据,它们是数组类型、结构体类型等。
本章介绍一维数组和二维数组的定义、数组元素的引用方法,同时介绍字符型数组及字符串的处理方法。
7.1 一维数组
数组是一些具有相同数据类型的数组元素的有序集合。数组中的每一个元素(即每个成员、也可称为下标变量)具有同一个名称,不同的下标,每个数组元素可以作为单个变量来使用。
数组可分为一维数组和多维数组(如二维数组、三维数组…)。数组的维数取决于数组元素的下标个数,即一维数组的每一个元素只有一个下标,二维数组的每一个元素均有二个下标,三维数组的每一个元素都有三个下标,以此类推。
一维数组中的数组元素是排成一行的一组下标变量,用一个统一的数组名来标识,用下标来指示其在数组中的具体位置。下标从0开始排列。
一维数组通常是和一重循环相配合,对数组元素依次进行处理。
7.1.1 一维数组的定义
在C语言中,变量必须先定义,后使用。数组也是如此,使用数组时必须先定义,后引用。
定义一维数组的格式为:
类型说明符 数组名[整型常量表达式],…;
例如:int a[10],b[5];
说明:
⑴ 它表示定义了两个一维数组,一个数组名为a,另一个数组名为b。数组名是按照“标识符”的规则构成的。
⑵ a数组含有10个数组元素,即a[0]、a[1]、a[2]、…、a[9];b数组含有5个数组元素,即b[0]、b[1]、b[2]、b[3]和b[4]。注意,不能使用a[10]和b[5],否则即出现数组超界现象。
⑶ 类型说明符int 说明a数组和b数组中的每个元素均占2个字节,只能存放整型数据。类型说明符可以是任何基本类型,如float、double、char等;也可以是以后要介绍的其它数据类型,如结构型、共用型等。
⑷ 整型常量表达式可以是整型常量或符号常量。最常见的是整型常量。不允许为变量。
⑸ C编译程序(如Turbo C)为a数组在内存中分配了10个连续的数组单元(共占20个字节),为b数组在内存中分配了5个连续的数组单元(共占10个字节),如图7-1所示。
a[0]
a[1]
a[2]
a[3]
a[4]
a[5]
a[6]
a[7]
a[8]
a[9]
b[0]
b[1]
b[2]
b[3]
b[4]
图7-1
⑹ C编译程序还指定数组名a为a数组的首地址,即a与a[0]等价;指定数组名b为b数组的首地址,即b与b[0]等价。也就是说,在C语言中,每个已定义的数组,其数组名有两个作用,其一代表该数组的名称;其二代表该数组在内存中的首地址。
7.1.2 一维数组的初始化
数组元素和变量一样,可以在定义的同时赋予初值,称为数组的初始化。
对一维数组进行初始化,可以用以下几种形式。
⑴ 对数组的所有元素均赋予初值,数组的长度可以省略。
例如:int a[6]={1,2,3,4,5,6}; 也可写为 int a[ ]={1,2,3,4,5,6};
a数组初始化后,a[0]=1,a[1]=2,a[2]=3,a[3]=4,a[4]=5,a[5]=6。
又如:char s[5]={’A’,’B’,’C’,’D’,’E’};
或 char s[ ]={ ’ A,’B’,’C’,’D’,’E’};
s数组初始化后,s[0]=’A’,s[1]=’B’,s[2]=’C’,s[3]=’D’,s[4]=’E’。
⑵ 对数组的部分元素赋予初值。
例如:int b[10]={1,2,3};
b数组初始化后,b[0]=1,b[1]=2,b[2]=3,其余各元素均为0。
⑶ 对数组的所有元素均赋予0值。
例如:int c[10]={0}; 或 int c[10]={0,0,0,0,0,0,0,0,0,0};
7.1.3 数组元素的引用
当定义了某数组后,就可以引用该数组中的任何元素了。引用形式为:数组名[下标]。
例如,前面定义过的a数组,可以引用的数组元素为a[0]、a[1]、a[2]、…、a[9]。
【例7-1】数组元素的引用例子。
程序如下:
main( )
{ int a[10],b[5]={55,44,33,22,11},i;
for(i=0;i10;i++)
{ a[i]=i+1;
printf(“%4d”,a[i
您可能关注的文档
最近下载
- 2型呼吸衰竭护理查房.pptx
- Orientalmotor东方马达 無刷馬達組合 BLH系列 使用说明书.pdf VIP
- 领导干部数字治理能力提升策略.pptx VIP
- The Six Sigma Handbook GBV(6西格玛手册GBV).pdf VIP
- 艺人经纪代理合同9篇.docx VIP
- 对国土空间规划认识.pptx VIP
- 2024年白酒酿造工(制酒制曲)理论考试题库大全-上(选择、判断题汇总).docx VIP
- 2025年心血管内科建设发展规划3篇 .pdf VIP
- Aspen plus甲苯甲醇侧链烷基化制苯乙烯模拟工艺设计.docx VIP
- 养老院护理员携带管制刀具的情况说明.docx VIP
文档评论(0)