- 1、本文档共88页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章-数组与字符串
第7章 数组与字符串 7.1 一 维 数 组 数组是一些同类型数据的有序集合,它们存储在内存的一个连续的存储区内。数组中的每个元素用下标加以区别。所以,数组元素又称为下标变量。 数组下标的个数,称为数组的维数。有一维数组,也有多维数组。软件设计中,应用最多的是一维数组和二维数组。三维和三维以上的数组,很少应用。 一维数组有一个下标。数组的下标写在数组名后面的方括号内,例如,a[3],bs[20]等。一维数组可看作是一个线性表。 7.1.1 一维数组的定义 和其他变量一样,数组也要遵循“先定义后引用”的原则。程序中使用数组时,必须先用数组定义语句对其进行说明。通过定义说明数组的名字,数据类型,维数和容量。 一维数组定义语句的一般格式为: 数据类型 数组名[常量表达式]; 其中,数组名可以是任何C语言的合法标识符。 常量表达式表示的是数组容量,也叫做数组的长度。它说明数组元素的个数。要注意的是,数组长度一定是常量表达式,通常是整型常量。不可以是变量或含变量的表达式。数组长度所用的括号为方括号。 定义中的数据类型指的是数组元素的数据类型,它可以是任何基本数据类型,也可以是以后将要学习到的其他数据类型。 当定义了一个数组后,系统就在内存的数据区为它开辟一个连续空间,用来存储各数组各元素的数据。 在一条数组定义语句中,可以定义多个同数据类型的数组和变量。例如: int a,b[10]; float f[5],f1; 图7-1是数组abc在内存中存储的示意图,它在内存占一个连续的空间。我们可以把它理解为一个一维的表格或线性表。一个一维数组所占用的内存空间(字节数),可用下式计算: 总字节数=数组元素个数×数据类型字长 7.1.2 数组元素的引用 数组元素的引用是通过数组下标变量实现的。下标变量的形式为: 数组名[下标] 下标可以是常量或表达式。下标变量虽然有下标,但它的使用和简单变量是一样的。 可以看到,数组元素的引用是通过数组名和相应的下标引用的。这种引用方法叫做“下标法”。 在程序中引用数组元素时,其下标不能超过该数组定义的长度。C语言系统不进行数组是否超出定义的边界的检查,这个任务由用户自己解决。 这就要求程序设计人员必须给数组以足够的容量,当然,还要注意程序的正确性。数组容量不够或程序的错误,都有可能导致数组的运算超出数组的边界。运算超出数组边界是有一定危险的,编程时要特别注意。 7.1.3 一维数组的初始化 在说明数组的同时对数组的元素赋值,这就是数组的初始化。一维数组初始化的一般形式为: 数据类型 数组名[容量]={ 常量表达式1,常量表达式2,…}; 其中常量表达式的值为下标变量的初始值,其数据类型要与数组的数据类型一致。常量表达式1的值赋予数组的第一个元素,常量表达式2的值赋予数组的第二个元素,等等,以此类推。 在对数组的所有元素初始化时,可以不给出数组的容量。在这种情况下,系统会自动按给出初始值(表达式)的个数建立相应容量的数组。这种初始化的一般格式为: 数据类型 数组名[ ]= { 常量表达式1,常量表达式2,…}; 在给数组初始化时,可以只给前k个元素赋初始值。这时,后面未赋值的元素则自动初始化为0。 7.1.4 一维数组程序设计 一维数组的程序设计,仍然离不开我们已经学过的顺序结构、选择结构和循环结构的设计方法。但在这一节我们更关注的是数组的设计和处理。我们要学习如何根据问题确定所需要的数组,如何处理数组中的各个数组元素。 对于若干个相互关联的,有某种联系的数据,一般用数组来组织这些数据,会对程序的数据处理带来很大的好处,减小程序设计的难度,提高数据处理的效率。 在加工处理数组数据方面,循环程序技术起着非常大的作用。在许多情况下,不采用循环程序设计恐怕是不可能的。 【例7-4】 编写一个程序,将一组数据(本例设定为5个数据)按由小到大的顺序排列。原始数据由键盘输入,程序输出排序后的结果。 一组数据可以用一个一维的数组来存储。数组的下标可作为
您可能关注的文档
- 2011大连中考英语试题与答案.doc
- 2011届中考语文考点专题复习14.ppt
- 第3章 M文件设计.ppt
- 2011宁波中考语文试卷与答案.doc
- 2011届各地高三地理复习备考策略与复习建议.doc
- 2011安徽省考真题与解析答案.doc
- 2011届新课标高中地理第二轮复习:第17讲 中国区域差异与分区(浙江专用).ppt
- 2011届高三历史(新人教版)二轮专题复习:俄国十月革命和苏联社会主义建设.ppt
- 2011届高三地理二轮复习专题讲练:西亚,北非,撒哈拉以南非洲(学案).doc
- 第3章(C语言).ppt
- 2011年高考化学总复习第一轮复习第12章(选修5) 有机化学基础 第4节 生命中基础有机化合物、进入合成.doc
- 2011年高考化学总复习第一轮复习第3章 金属与其化合物 第1节 钠元素与其化合物.doc
- 2011年高考历史第一轮专题复习6.ppt
- 2011年高考备考策略与命题研究.doc
- 第7讲 JavaScript 循环语句(二).ppt
- 2011年高考历史第一轮专题复习3.ppt
- 2011年高考地理考点复习-中国国土统治.ppt
- 2011年高考地理 专题一 选择题解题技巧 新人教版.ppt
- 第8章 预处理命令 清华大学.ppt
- 2011年高考复习《把握思维奥秘》《新人教必修4》(新人教必修4).ppt
最近下载
- 动力设备部三级安全教育具体内容.pdf VIP
- 施工承诺书及安全生产协议书.doc VIP
- 句子排序与衔接(测试)-2024年中考语文二轮复习(解析版).pdf VIP
- 山东黄金归来庄矿业有限公司2000t环评报告山东黄金归来庄矿业有限公司2000t环评报告.doc VIP
- 中医五行音乐疗法课件最新完整版本.pptx VIP
- 产品包装设计与制作规范手册.doc VIP
- 以甲醇为原料年产30万吨甲醛生产项目可行性研究报告.doc
- 四川省达州市(2024年-2025年小学六年级语文)统编版小升初真题((上,下)学期)试卷及答案.docx VIP
- 2025年AI技术全景入门分享(大模型基础培训).pdf VIP
- 滚筒洗衣机-----结构图讲课教案.ppt VIP
文档评论(0)