- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第5章数组在程序设计中,为了处理问题的方便,把具有相同类型的若干变量按有序的形式组织起来,这些按序排列的同类型数据元素的集合称为数组。在C语言中,数组属于构造数据类型。每个数据项称为数组元素,这些数组元素按顺序依次存放在一段连续的存储单元中。数组可以是一维数组、二维数组或多维数组。本章主要介绍数组的定义和使用
第5章数组
5.1一维数组的定义和引用5.1.1一维数组的定义定义一维数组定义的一般形式:数据类型数组名[数组长度];语法规则:(1)数组名:其命名规则要符合C语言标识符的命名规则。它表示第一个数组元素的地址,即数组的起始地址;是一个地址常量。地址的概念将在第7章介绍。(2)“[]”是下标运算符,是数组的标志。(3)数组长度:必须是正整型常量或常量表达式,表示数组元素的个数。(4)允许在同一个类型说明中,说明多个数组和变量。
5.1一维数组的定义和引用5.1.2一维数组的引用数组的定义时的长度表示数组里元素的个数,每个元素的表示形式:数组名[下标];语法规则:①数组元素的下标从0开始,最大下标为数组长度-1。例如:floatscore[5];表示声明了一个名为score的数组,包含5个数组元素,分表表示为:score[0]、score[1]、score[2]、score[3]、score[4];②使用下标引用数组元素必须确保下标合法不越界,编译时C编译器不检查下标是否在合法范围之内。如果越界,系统在编译与运行时不提供任何错误提示,程序继续执行,并访问相应的存储单元,而这个单元可能属于其它变量或根本不存在;③数组元素在内存中是按照下标的顺序连续存储的。
5.1一维数组的定义和引用5.1.3一维数组的初始化一维数组元素的初始化有两种方式:(1)定义数组的同时直接初始化,其初始化的一般形式:数据类型数组名[数组长度]={元素初值列表};例如:intscore[5]={85,86,78,90,75};经过初始化后,相当于score[0]=85,score[1]=86,score[2]=78,score[3]=90,score[4]=75。
5.1一维数组的定义和引用5.1.3一维数组的初始化语法规则:①将初值依次放在一对花括号内,每一个值以“,”分隔;②当对全部数组元素赋初值时,可以省略数组长度,数组的长度由初值个数确定。例如:intscore[]={85,86,78,90,75};花括号中有5个数值,系统会据此自动定义数组score长度为5;③若初值的个数等于数组长度,这种初始化的方式称为完全赋值法;④若初值的个数小于定义中的数组长度,这种初始化的方式称为部分赋值法,给定的初值依次赋给前面的数组元素,初值没有给出的,系统会自动确定为0。此时数组长度不能省略。部分赋值法花括号中的数值至少要有一个,不能一个都没有。例如:intsum[5]={5};经过初始化后,相当于sum[0]=5,sum[1]=0,sum[2]=0,sum[3]=0,sum[4]=0。
5.1一维数组的定义和引用5.1.3一维数组的初始化(2)先定义数组,后对元素单独初始化例如:intscore[5];……score[0]=85;score[1]=86;语法规则:①对需要初始化的元素单独初始化,未初始化的元素值不是0,而是随机数;②初始化的值,可以是常量、变量、表达式或者从键盘等外部设备输入的数据。
5.1一维数组的定义和引用5.1.3一维数组的初始化
5.1一维数组的定义和引用5.1.4一维数组应用举例【例5.2】输入10个整数,输出其中的最大数及其所在位置。分析:①定义一个长度为10的数组a[10],使用循环完成输入;②找最大数的思路是:一般首先假设第一个数a[0]就是最大数,放入变量imax中;位置0放在变量position中;在循环中,依次将数组中的元素与imax比较,若比imax大,则更新imax值和position值。循环结束后imax就是要找的最大值。
5.1一维数组的定义和引用5.1.4一维数组应用举例
5.1一维数组的定义和引用5.1.4一维数组应用举例【例5.3】从键盘任意输入5个整数,按从大到小的顺序排序后输出分析:①利用例题5.2的思路,找出这5个数字中最小的数字,将这个数字与第一个数字交换;②然后再从余下的4个数字中找到最小的数字,将这个数字与第二个数字交换,依次类推,直到只剩下一个数字。具体排序的过程见以下的描述:?a[0]a[1]a[2]a[3]a[4]?初始值5826324065?第1趟6526324058假设a[0]最小,imax=a[0],position=0,分别用后面的每一个元素跟imax进行比较,发现如果比imax大
您可能关注的文档
- 《可编程控制器原理及应用》课件第8章.pptx
- 《机械设计基础》课件第7章.ppt
- 《移动通信无线网络优化技术》课件第3章.pptx
- 《图像处理及网页制作》课件第2章.ppt
- 《数控机床PLC控制与调试》课件第1单元.ppt
- 《Hadoop大数据原理与应用》课件第4篇展厅空间设计1.pptx
- 《Hadoop大数据原理与应用》课件第4篇展厅空间设计2.pptx
- 《汽车故障诊断技术》课件第2章.ppt
- 《数字电子技术基础》课件27学习情境9.pptx
- 《移动通信无线网络优化技术》课件第1章.pptx
- 2025年新疆克孜勒苏柯尔克孜自治州单招职业倾向性考试题库附答案.docx
- 2025年新疆克孜勒苏柯尔克孜自治州单招职业适应性考试必刷测试卷及参考答案.docx
- 2025年新疆交通职业技术学院单招职业技能测试题库带答案.docx
- 2025年新疆伊犁哈萨克自治州单招职业倾向性测试题库完美版.docx
- 2025年新疆乌鲁木齐市单招职业适应性考试题库推荐.docx
- 2025年新疆乌鲁木齐市行政职业能力测验题库必考题.docx
- 2025年新疆克孜勒苏柯尔克孜自治州行政职业能力测验题库及答案1套.docx
- 2025年新疆乌鲁木齐市行政职业能力测验模拟试题审定版.docx
- 2025年新疆乌鲁木齐市单招职业倾向性考试必刷测试卷1套.docx
- 2025年新疆乌鲁木齐市行政职业能力测验题库及答案1套.docx
最近下载
- 2025年最新人教版八年级(初二)数学上册教学计划及进度表(新课标,新教材).docx
- 【SPD】医院器械耗材SPD管理技术方案.pptx VIP
- 2025版SA8000-2025社会责任体面工作国际标准管理体系内部审核全套资料 .pdf VIP
- 中华优秀传统文化-配套课件.ppt
- 医院耗材spd管理制度 .pdf VIP
- 湘美版三年级美术上册《1. 老师,您好》教学设计.docx VIP
- 2025年广东中考数学题分析评析 .pdf VIP
- 【SPD】医院器械耗材SPD管理技术方案.pptx VIP
- 三措两案管理制度.docx VIP
- 田广林高教社中国传统文化概论(第三版)教学课件第四章 中国传统宗教.pptx VIP
文档评论(0)