- 2
- 0
- 约6.68千字
- 约 39页
- 2017-11-12 发布于广东
- 举报
尚辅网 / 第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);
您可能关注的文档
- AutoCAD2006基础教程课件作者王群课件第4章节.ppt
- AutoCAD2006基础教程课件作者王群课件第6章节.ppt
- 企业审计实务课件作者郑伟任务三探究审计目标与审计证据.ppt
- AutoCAD2006基础教程课件作者王群课件第7章节.ppt
- AutoCAD2006基础教程课件作者王群课件第8章节.ppt
- 企业审计实务课件作者郑伟任务五制定审计方案.ppt
- AutoCAD2006基础教程课件作者王群课件第9章节.ppt
- 企业审计实务课件作者郑伟任务一审计职业认知.ppt
- 企业信息化管理与应用课件作者袁清文第二章节企业信息化技术基础.ppt
- AutoCAD2006基础教程课件作者王群课件第12章节.ppt
- 中航期货-铜月报-2026年2月.pdf
- 欧洲央行-资本缓冲能力的结构模型.pdf
- 国金证券-计算机行业专题研究报告-消费电子3D打印迎加速契机.pdf
- 民航局机场司现行有效文件目录.pdf
- 华西证券-钠电池行业专题报告-技术成熟+应用领域清晰,钠电池有望迎来放量.pdf
- 华鑫证券-传媒行业周报-传媒回调行情仍在,智能新纪元撬动注意力经济.pdf
- 国金证券-石油化工行业研究-美以对伊朗军事行动爆发.pdf
- 西部证券-建筑建材行业周报-中国化学重点推荐关注减碳技术服务商.pdf
- 欧洲电力行业联盟-Eurelectric对ENTSO-E 2025年欧洲资源充足性评估咨询的回应(英).pdf
- 欧洲银行体系中的风险传播:非银行金融机构和市场风险的放大效应-2026.pdf
最近下载
- 托育服务中心项目计划书.pptx VIP
- DL_T 596-2021 电力设备预防性试验规程.docx VIP
- 铝材厂跟单员培训课件.pptx VIP
- 2026年湖南电气职业技术学院单招职业技能考试题库附答案详解(培优).docx VIP
- (高清版)B-T 41261-2022 过程工业报警系统管理.pdf VIP
- 室间质评不合格原因分析及纠正记录表(2026版-).docx VIP
- GB 50870-2013 建筑施工安全技术统一规范.docx VIP
- 青少年户外营地(露营)教育教学课件:营地概论.pptx VIP
- 国家基本公共卫生中医药服务培训.ppt VIP
- 2021年磁粉检测高级证模拟实操试题-能中能.docx VIP
原创力文档

文档评论(0)