- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 数组01项目概述目录 CONTENT02入口文件03项目组件7.1 一维数组7.1 一维数组假如要存储 80 名学生的成绩,在没有数组之前,就需要定义 80 个变量,如下所示。int n1, n2, n3, ……,n80;很明显这个定义的过程相当琐碎,耗费时间与精力,于是 C 语言提供了数组来存储相同类型的数据,现在要存储 80 名学生的成绩,只需定义一个数组,如下所示。int n[80];数组是典型的构造数据类型之一,是具有一定顺序关系的若干个变量的结合,组成数组的各个变量称为数组的元素。数组中各元素的数据类型必须是相同的,数组可以是一维的,也可以是多维的。7.1.1 一维数组的定义一维数组指的是存储一维数列中相同数据的集合,其语法格式如下所示。存储类型说明符 数组标识符[常量表达式];存储类型说明符表示数组中存储的所有元素的类型,数组标识符表示数组型变量名,命名规则与普通变量名一致,常量表达式表示数组中存放的数据元素的个数,即数组长度。定义一个一维数组,如下所示。int array[8];如上述一维数组的定义,表示数组中有 8 个元素,每个元素的数据类型都是整型,其下标值从 0 开始到 7 结束,即 array[0]表示数组的第一个元素,array[4]表示数组的最后一个元素,以此类推。7.1.2 数组元素数组定义完成后即可使用数组中的元素,数组元素是组成数组的基本单元。每一个数组元素都是一个相对独立的变量,访问数组中的元素,可以通过指定数组名称和元素的位置(数组下标)进行确定,其语法格式如下所示。由上文描述可知,数组的下标从 0 开始,如果数组的大小为 N,则数组的最大下标为N-1。7.1.2 数组元素操作数组元素保存数据,具体如例7-1 所示。分析:上述示例中,第 8~10 行代码通过 for 循环语句对数组中的每一个元素(数组元素类型为整型)进行赋值操作,操作数组元素的方式为数组名与下标的方式,即 Array[i],第 13~15 行代码通过 for 循环语句依次输出数组中元素的值。7.1.3 一维数组初始化一维数组的初始化指的是定义数组时进行数组元素的赋值,其初始化的语法格式如下所示。如果需要对数组全部元素赋初值,示例代码如下所示。在定义数组的同时将常量 1、2、3、4、5 分别保存到数组元素 a[0]、a[1]、a[2]、a[3]、 a[4]中。如果需要将所有的元素赋初值为 0,则初始化操作如下所示。 该初始化操作等价于以下操作。 上述初始化操作只适用于初始值为 0,如赋初始值为 1,则以下操作为错误操作。7.1.3 一维数组初始化分析: 上述示例中,第 6 行代码为数组初始化操作,通过第 8~10 行代码输出初始化后的数组 元素的值,由输出结果可知,初始化成功。第 14 行代码同样为数组初始化操作且初始值为 0,通过第 16~18 行代码输出初始化后的数组元素的值,全部为 0。7.1.3 一维数组初始化释疑: 当对数组中的全部元素进行初始化时,可以不指定数组的长度,如 int a[]={0,1,2,3};表 示数组的元素共有 4 个,即长度为 4。 如果只需要初始化数组中的部分元素,则其他元素默认为 0,示例代码如下所示。 int a[5] = {1, 2, 3};执行上述操作后,a[0]=1,a[1]=2,a[2]=3,a[3]=0,a[4]=0。如例 7-3 所示,初始化部 分元素,查看结果7.1.3 一维数组初始化执行上述操作后,a[0]=1,a[1]=2,a[2]=3,a[3]=0,a[4]=0。如例 7-3 所示,初始化部 分元素,查看结果分析: 上述示例中,第 6 行代码对数组进行初始化时,只赋值了部分数值,即 1、2、3,分别 按顺序赋值给 Array[0]、Array[1]、Array[2],剩余未赋值的数组元素则默认被赋值为 0。 7.1.4 数组的存储方式数组在内存中的存储是连续的,即每个元素都被存储在相邻的位置,具体如图 7.1 所示。如图 7.1 所示,数组中所有的元素在内存的位置都是连续的,最低的地址对应第一个元 素,最高的地址对应最后一个元素,如果数组为整型数组,则数组中的每一个元素在内存中 占用 4 个字节,数组变量的长度为 6,共占有 24 个字节。7.1.4 数组的存储方式通过获取内存地址的方式测试上述推理,具体如例 7-4 所示。 分析: 上述示例中,定义一个整型数组,其元素共有 5 个,使用 printf()函数进行格式化输出, 格式“%p”用来输出内存地址,取地址符“”用来获取某个元素(变量)的内存地址。 由输出结果可知,每个元素的内存地址差值为 4,内存的基本单位为字节,因此差值为 4 个 字节。由于数组为整型数组,可知数组在内存中的地址是连续的,最后一个元素的
您可能关注的文档
- 数据新闻 第5章 数据分析和可视化工具.pptx
- 数据新闻 第6章 其他数据新闻制作工具.pptx
- 《短视频策划、拍摄与制作》教学课件第1章短视频概述.pptx
- Altium Designer 19 电子线路板设计与制作PPT课件(共6章)第1章概述.pptx
- Altium Designer 19 电子线路板设计与制作PPT课件(共6章)第2章稳压电源电路的制图与制板.pptx
- Altium Designer 19 电子线路板设计与制作PPT课件(共6章)第3章人体感应灯电路的制图与制板.pptx
- Altium Designer 19 电子线路板设计与制作PPT课件(共6章)第4章抢答器电路的制图与制板.pptx
- Altium Designer 19 电子线路板设计与制作PPT课件(共6章)第5章3D打印机主控板的制图与制板.pptx
- Altium Designer 19 电子线路板设计与制作PPT课件(共6章)第6章电子秤仪表的制图与制板.pptx
- C语言程序设计PPT课件(共13章)第1章C 语言概述.pptx
- 辽宁省大连市滨城高中联盟2025-2026学年高一上学期11月期中考试历史试卷.pdf
- 2026西藏自治区定向西南财经大学选调应届优秀大学毕业生笔试备考试卷附答案解析.docx
- 2025年掌上食安考试题库及答案.doc
- T∕FSTI 0017-2025 水上无人系统跨域通信技术.pdf
- 主播解约与账号归属权争议和解协议.docx
- 2025年招标代理考试题库及答案.doc
- 学校应急接种制度和组织流程.docx
- 2026西藏自治区定向浙江大学选调应届优秀大学毕业生笔试模拟试卷带答案解析.docx
- 自媒体账号矩阵代运营服务合同.docx
- T∕GZQXXH 0022-2025 电网工程气候可行性论证技术规范.pdf
原创力文档


文档评论(0)