- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c教程第5章数组
第5章 数组 数组(array)是若干相同类型的对象的集合体。它具有一定的顺序关系,在内存中占有一组连续内存地址。利用数组可以方便地解决涉及到大规模的数据的问题,特别是针对数据间有一定联系且相似的一组对象。本章就来学习和研究数组的组织形式和用法。 5.1 一维数组的概念和存储 数组是将一些数据组合在一起的有序序列。例如,班级中所有同学的成绩,所有教职工的年龄,将这些数据组合在一个特定的类别里。组中的每个成员有着相同或者不同的值,具有这些特征的数据都可以用数组表示。 5.1.1 一维数组的定义和初始化 数组是一组相同类型数据的集合。每一个数组都有一个名字,数组中的每一个元素通过下标(序号)来表示在数组中的位置。要寻找数组中的某个元素就需要给出数组名和其下标。数组有不同的维数和大小。数组可以是一维、二维或者多维,其大小也是不同的,不过数组的维数和大小在定义数组的时候就确定了,程序运行时不能改变。 1.对数组中所有元素赋值 2.对数组中部分元素赋值 5.1.2 一维数组的引用 数组必须先声明,然后才能使用,数组中元素是由数组名和下标惟一标识的。 5.1.3 一维数组内存结构和寻址 数组在内存中是占有内存单元的,它们存在于一组连续的存储单元中。 5.2 二维数组 数组元素可以声明成任何类型,因此如果一维数组中元素的数据类型还是一维数组的话,这种数组就被称为二维数组。 5.2.1 二维数组的定义和初始化 二维数组就是维数是2的数组。 1.按行对二维数组初始化 2.按数组排列顺序对二维数组初始化 3.对二维数组中的部分元素初始化 4.维度的省略 5.2.2 二维数组的引用 二维数组的引用和一维数组的引用类似,其格式如下。 数组名[下标表达式1] [下标表达式2] 5.2.3 二维数组内存结构和寻址 从前面章节中可以了解到一维数组的内存结构,而二维数组又可以看作是一个“特殊”的一维数组,它也是按照顺序结构存储的。示例定义并初始化了一个数组。 5.3 多维数组 具有两个或两个以上下标的数组称为多维数组。二维数组也属于多维数组。 5.3.1 多维数组的定义和初始化 前面两节学习了一维和二维数组,这为本节的多维数组做好了铺垫。多维数组,顾名思义,就是维数超过2的数组,其定义的格式如下。 类型标识符 数组名[常量表达式1] [常量表达式2] [常量表达式3] ……; 5.3.2 多维数组的引用 在引用多维数组中的元素时,仍然是采取数组名和下标的组合来引用元素,其一般格式如下。 数组名[下标表达式1] [下标表达式2] [下标表达式3]...... 5.3.3 多维数组内存结构和寻址 由于内存是一维的,所以多维数组采取顺序结构,按行优先的存储方式,先存储第一行的元素,再存储第二行,依次类推。以数组a[2][2][3]为例,其存储顺序如图所示。 5.4 字符数组 用来存放字符量的数组称为字符数组。也就是说,字符数组中的每一个元素都是字符类型。之所以将字符数组单独拿出来介绍,是因为字符操作是程序最常用的操作,并且字符数组操作有其特殊性。 5.4.1 字符数组的定义和初始化 字符数组的定义形式遵循一般类型数组的定义形式,只需要将数据类型换为char型即可。 5.4.2 字符数组的引用 字符数组的引用与前面的普通数组数组一样,都是通过下标来进行引用。 5.4.3 利用字符数组操作字符串 在C++中,处理字符串的方式很多,最基本的是利用字符数组来处理。通过前面的学习,可知字符串总是以\0作为结束符。因此当把一个字符串存入一个数组时,也把结束符\0存入数组,并以此作为该字符串是否结束的标志。有了\0标志后,就不必再用字符数组的长度来判断字符串的长度了。C++语言允许用字符串的方式对数组作初始化赋值。 5.5 本章实例 编程实现两个矩阵的乘法运算。 5.6 小结 数组是同类型变量组成的集合,数组元素可以通用声明、赋值或输入进行初始化,访问数组中特定的元素通过下标运算符。 1-*
您可能关注的文档
- BIOS使用说明.doc
- BJ486EQV4系列汽油机维修技术手册3.doc
- BOSTON COLLEGE – BENEFITS OFFICE.doc
- bpsk实验报告.doc
- Brew开发定时器.ppt
- Brown-mood中位数检验.ppt
- BRT的一些问题的探讨2.doc
- BT合同450935416.doc
- BRN-D403三相电子式多费率电能表.doc
- BYMD-II全自动SF6密度继电器校验仪使用说明书.doc
- 法律科技人才职业发展路径优化:2025年行业趋势与培养策略研究报告.docx
- 2025年社交媒体平台算法推荐机制与内容生态发展现状及趋势报告.docx
- 2025年国防军工企业数字化转型与国防科技工业战略布局优化报告.docx
- 2025年工业互联网平台工业APP开发与产业协同创新生态与产业发展研究报告.docx
- 冰雪体育产业区域体育产业区域产业布局与区域经济发展关系报告.docx
- 数字贸易安全风险防范:2025年规则制定与监管体系建设分析.docx
- 音乐流媒体平台2025年版权运营音乐版权运营音乐版权运营版权授权与盈利模式创新.docx
- 国防军工企业数字化生产设备远程监控与维护研究报告.docx
- 法律科技助力知识产权:2025年侵权预警系统应用案例分析报告.docx
- 陶瓷3D打印技术在高速列车部件制造中的应用与市场前景报告.docx
最近下载
- Unit 6 Rain or Shine (第3课时) 课件人教版(2024)英语七年级下册.pptx VIP
- 港珠澳大桥岛隧工程沉管隧道混凝土质量控制措施.pdf
- 2025年中考数学复习热搜题速递之尺规作图(2024年7月).docx
- 股市风险预警机制-深度研究.pptx
- 政策解读2025年中央一号文件PPT.pptx VIP
- 5.0MPa路面抗折混凝土配合比.docx VIP
- 17J927-1 车库建筑构造(OCR).pdf VIP
- XX市疾病预防控制中心-艾滋病HIV筛查实验室管理手册_精品.doc
- 2025年春季小学学校德育工作计划(1975字).docx VIP
- 渤海水泥厂包装车间除尘系统设计.docx
文档评论(0)