- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Company Logo LOGO 第5章 数组及其应用 本章重点 § 数组元素的查找 § 数组元素的插入 § 数组元素的删除 § 数组元素的排序 本章难点 § 数组下标值的变化 § 数组下标越界情况 § 排序的各种算法 § 数组插入、删除时的位置确定 5.1 一维数组 数组是一种构造类型,C语言中的许多问题不用数组几乎难以解决。数组有以下主要特点: 1)每个数组中的元素类型必须一致。 2)用不同的下标来区分数组的元素。 3)数组在内存中占有连续的存储单元,数组名表示数组在内存中的首地址。 4)数组和指针有着极密切的联系,可以通过指针移动来对数组元素进行操作。 5.1.1 一维数组的定义 一维数组的定义形式如下: 类型说明符 数组名[整型常量表达式]; 例如: int a[5]; 它表示定义5个元素的整型数组,数组名为a,a也是这5个元素存储区的首地址,因而a的地址值不能改变。 【例5.1】 数组及数组元素的表示方法。 编辑源程序代码5-1.c: #includestdio.h int main() { int i,a[10]={1,2,3,4,5,6}; /*定义一个整型数组,数组名为a,并给数组初始化*/ for(i=0;i10;i++) printf(a[%d]=%-4d,i,a[i]); /*a[i]为数组的第i个元素*/ printf(\n); return 0; } 注意: 1)数组名的命名方法与变量名相同,遵循标识符命名规则。 2)数组的下标从0开始,下标的最大值为:常量表达式-1。 例如,在int a[5];中,数组a的5个元素分别表示为a[0]、a[1]、a[2]、a[3]和a[4]。 3)常量表达式中可以包括常量和符号常量。 5.1.2 一维数组的引用方法 C语言规定不能一次引用整个数组,引用时只能对逐个元素进行引用。数组元素及数组地址的表示形式如表5.1和表5.2所示。 如有定义: int a[5],*p; p=a; /*指针p指向数组a的首地址*/ 其元素可表示为:a[i],其中0=i5。 表5.1 一维数组的元素表示法 表5.2 一维数组元素的地址表示法 a+j *(p+i) *(a+i) p+j a[j] p[i] a[i] 指针表示 数组表示 指针表示 数组表示 5.1.3 一维数组的初始化与赋值 有三种方法给数组赋值:数组的初始化;程序中赋值;键盘中读入。 1. 数组的初始化 1)在定义数组时对数组元素可赋以初值,例如: static int a[10]={0,1,2,3,4,5,6,7,8,9}; 2)初始化时可以只对一部分元素赋初值。例如: static int a[10]={0,1,2,3,4}; 定义的数组有10个元素,但只对其中前5个元素赋了初值,后5个元素的初值为0。 3)如果想使一个数组的元素值全部为0,可以用下面的方法: static int a[10]={0}; 即使对static型的数组不赋初值,系统也会对所定义的数组的所有元素自动赋以0值。 2. 程序中赋值 【例5.2】 在程序中给数组的元素赋值,并输出数组元素的值。 分析:数组s在定义时赋值;数组a在程序中赋值。s[2]的3赋给a[0],s[4]的5赋给a[1],s[7]的8赋给a[2],程序运行的结果为:a[0]=3 a[1]=5 a[2]=8。 编辑源程序代码5-2.c: #includestdio.h int main() { int s[10]={1,2,3,4,5,6,7,8,9,10}; int i=2,a[3]; a[0]=s[i]; a[1]=s[2+i]; a[2]=s[2*i+3]; printf(a[0]=%d a[1]=%d a[2]=%d\n,a[0],a[1],a[2]); return 0; } 3. 程序运行时从键盘输入 【例5.3】 程序运行时从键盘输入,给数组的元素赋值,最后输出数组元素的值。 分析:初始化数组a[4],程序等待键盘输入4个数,把键盘输入的数赋值给数组a中的4个元素,输出数组a[4]的4个元素的值。 编辑源程序代码5-3.c: #includestdio.h int main() { int i,a[10]; printf(请输入10个整型数,以空格隔开\n); for(
您可能关注的文档
- C语言程序设计( 第六版) 高职计算机大类专业基础课 董汉丽 第8章 结构体和共用体.ppt
- C语言程序设计( 第六版) 高职计算机大类专业基础课 董汉丽 第9章 文件.ppt
- C语言程序设计( 第六版) 高职计算机大类专业基础课 董汉丽 第10章 C语言屏幕操作函数及应用.ppt
- C语言程序设计( 第六版) 高职计算机大类专业基础课 董汉丽 目录.ppt
- C语言程序设计( 第五版) 高职计算机大类专业 董汉丽 C语言程序设计 第五版课程教学大纲.doc
- C语言程序设计( 第五版) 高职计算机大类专业 董汉丽 第八章.ppt
- C语言程序设计( 第五版) 高职计算机大类专业 董汉丽 第二章.ppt
- C语言程序设计( 第五版) 高职计算机大类专业 董汉丽 第九章.ppt
- C语言程序设计( 第五版) 高职计算机大类专业 董汉丽 第六章.ppt
- C语言程序设计( 第五版) 高职计算机大类专业 董汉丽 第七章.ppt
- 2025年“青春榜样·筑梦未来”主题教育活动励志报告讲话稿.doc
- 2025年6月副书记在党支部违反精神警示教育会上的主持词+在政协机关党组理论学习中心组违反精神警示教育会上的主持词.docx
- 3篇 2025年6月 加强作风建设专题党课辅导报告讲稿.docx
- 2025年对县党委班子成员的点评材料+镇党委书记在镇年轻干部学习研讨会上的讲话.docx
- 2025年深入精神学习教育读书班关于加强作风建设研讨发言材料 3篇.docx
- 2篇 2025年青年干部在“青年说作风”专题座谈会上的交流发言.docx
- 3篇 2025年党工委书记在2025年学习教育读书班关于加强作风建设的研讨发言.docx
- 党员干部关于作风建设学习教育查摆问题及整改措施的报告+在学习教育理论中心组交流研讨会的发言提纲.docx
- 《中华美食文化英语》课件.ppt
- 《中国文化介绍英语》课件.ppt
文档评论(0)