- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C言语教学chap7
第七章 数组 一、一维数组的定义和引用 定义 数组类型名 数组名[常量表达式]; 例:int a[10]; 说明:a为数组名,int a[10]表示a数组在内存中开辟了10个连续的存储单元存放a数组的10个变量a[0]、a[1]、…、a[9],且每个元素均为整型 使用注意: 数组名是用户自定义标识符 数组元素下标由0开始,下标值为正整数 常量表达式定义了数组的长度,长度值不能由变量充当,即不允许对数组大小作动态定义 错例: int n; scanf(“%d”,n); int a[n]; 数组的引用 地址引用: 在C语言中,数组名代表该数组的首地址,即第0个元素的地址 引申:第1个元素地址:a+1 第2个元素地址:a+2 …… 第i 个元素地址:a+i 元素引用: 数组名[下标表达式];(下标由0开始) 只能逐个引用数组元素而不能一次引用整个数组 数组的初始化 在定义时赋值 int a[10]={0,1,2,3,4,5,6,7,8,9}; 相当于:a[0]=0; a[1]=1;……; a[9]=9; 只赋值一部分,剩余部分按“0”处理 int a[10]={1,2,3,4}; 则a[4]~a[9]为0; 允许通过所赋初值的个数来定义数组长度 int b[ ]={1,2,3,4}; 等价于:int b[4]={1,2,3,4}; 数组元素的赋值与输入 赋值:类似于常量的赋值 如:a[0]=2; a[1]=a[0]+2; 等等 有规律的赋值可用循环完成 for(i=0; i10; i++) a[i]=i; 用scanf函数进行数据输入 方法一:for(i=0;i10;i++) scanf(“%d”, a[i]); 方法二:for(i=0;i10;i++) scanf(“%d”,a+i); 程序设计 设计初步 首先解决数组元素成批输入和输出 例1:定义10个长度的整型数组,输入10个数,并按顺序输出 例2:求Fibonacci数列的前40个数 Fibonacci数列的数学表示为: f[0]=1; f[1]=1; …… f[n]=f[n-1]+f[n-a] 分析:定义一个40个长度的长整型的数组,初始化数组的前2 项,其余各项在循环中用通式确定 流程图: 几个经典的排序算法 排序的基本思想 数据k1、k2、…、ki、ki+1、…、kn,若存在kiki+1,即存在逆序,则交换之消除逆序 算法一(选择排序法) 算法思想:第一次的大小比较,找到最小的数,放在a[0]中,第二次的大小比较在剩下的数据中进行,找到其中最小的数据放在a[1]中,……,直到最后一个数据 流程图: 算法二(冒泡排序法) 算法思想:对相邻的两个数进行比较,小数放前,大数放后,经过一轮比较后,小数上浮,大数沉底,以此类推,经过最后一轮比较得到最后的排序结果 流程图: 例3:有一数组a[10]已排成升序,写一程序在不引入其它数组的情况下将其改为降序 二、二维数组的定义和引用 定义: 类型名 数组名[常量表达式1][常量表达式2] 例:int a[2][3]; 说明: int a[2][3];表示数组a在内存中开辟了6个连续的存储单元,用来存储数组元素a[0][0]、a[0][1]、a[0][2]、a[1][0]、a[1][1]、a[1][2],每一维的下标由0开始,在内存中按行存放。 a[2][3]包含两个元素a[0]、a[1], a[0]由a[0][0]、a[0][1]、a[0][2]组成; a[1]由a[1][0]、a[1][1]、a[1][2]组成 二维数组的引用 地址引用: 在C语言中,一个二维数组可看成一个一维数组,其中每一个元素又是一个一维数组 二维数组元素在内存中按行存放,所以a[0]为第0行的首地址 引申:第0行的首地址为:a[0] 第1行的首地址为:a[1] …… 第i 行的首地址为:a[i] 二维数组任一元素a[i][j]的地址为: a[i][j]等价表示为a[i]+j 元素引用 二维数组的元素只能逐个引用,不能一次引用整个数组 数组元素的表示为: 数组名[下标1][下标2]; 下标由0开始编写,不能超过数组定义的长度 数组元素可出现在表达式中参与运算 b[1][2]=a[2][3]/2; 等等 二维数组的初始化 分行初始化: int a[2][3]={{1,3,5},{2,4,6}}; 按数组在内存中的排列顺序
您可能关注的文档
- C语言单片机例.doc
- 第九章系统维护和常用工具软件2课时.doc
- 选修3-4《机械振动》单元测试(精品).doc
- 西安石油大学现场总线技术考卷.doc
- 三年级语文期末质量分析1.doc
- 小白待到月上深山时.doc
- XX煤矿地质灾害预防报告.doc
- 四年级上册语文第三单元知识.doc
- 安全生产目标考评汇报.doc
- Doc1化学平衡.doc
- Unit 6 Get Close to Nauture Lesson 22 -课件-2025-2026学年度北京版英语四年级上册.pptx
- Unit 7 Be Together Lesson 23 -课件-2025-2026学年度北京版英语四年级上册.pptx
- 2025食品饮料行业AI转型白皮书-2025食品饮料行业数智化转型领先实践.pdf
- Unit 7 Be Together Lesson 24 -课件-2025-2026学年度北京版英语四年级上册.pptx
- Unit 7 Be Together Lesson 25 -课件-2025-2026学年度北京版英语四年级上册.pptx
- Unit 7 Be Together Lesson 26 -课件-2025-2026学年度北京版英语四年级上册.pptx
- 2025年广州体育职业技术学院单招职业倾向性考试题库完美版.docx
- 软件公司员工考勤异常处理.doc
- 2025年土地登记代理人之土地登记相关法律知识题库500道及完整答案【有一套】.docx
- 2025年四平职业大学单招职业适应性考试题库含答案.docx
最近下载
- IPC-2221C-EN TOC2023印制版设计通用标准 Generic Standard on Printed Board Design.pdf VIP
- 2022-2023新版人教版初中九年级化学上册(全册)课件.ppt
- 人教版物理九年级全册分层作业设计.doc
- 九上语文必背内容.docx VIP
- 标准图集-20S515-钢筋混凝土及砖砌排水检查井.pdf VIP
- 人教版初中九年级化学下册全册完整课件.ppt VIP
- 新高考语文64篇古诗文理解性默写汇编(含答案).docx VIP
- 物流工作流程及出入庫管理流程图.doc VIP
- 危化品安全数据表.doc VIP
- 丰田沟通技巧报联商培训讲义.pptx VIP
文档评论(0)