1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言第讲

构造类型一 第四章 数 组 Xuan Shanli 合肥工业大学 构造类型一 第四章 数 组 Xuan Shanli 合肥工业大学 第四章 数 组 前几章中,我们用基本变量来存储单个数据,本章中我们介绍一种数据结构—数组,数据结构代表了有特殊关系的数据的集合。在实际的应用中,经常会遇到某些类型相同并相互具有联系的数据。如一个班30个人的一门课程的成绩,求平均成绩、最高或最低成绩。处理这类数据的最好办法是将其定义为一个具有共同特征的整体,这种同类型相关数据的集合称为数组。 4.1 数组的概念 C 语言可以根据用户需要,用基本数据类型定义特殊性质的数 据类型,称为构造类型。构造类型有:数组、结构、联合。 数组:相同类型变量的有序集合。 有序表现在数组元素在内存中连续存放。 数组用一个名字作为标识。为区分各元素,每个元素有一个用 整型表示的序号,称之为下标。下标可以有多个,下标的个数称为 数组的维数。 如:十个整型变量 k[0],k[1], … k[9] 一个下标 数组名 三个学生三门课程的成绩 97.5 80.5 94.5 76.5 81.4 90.0 60.0 64.5 75.0 学号 0 1 2 0 1 2 课程 下标一:行 下标二:列 数组元素:a[1][1] 数组必须先说明后使用。说明的目的: ⒈说明数组的名字。 ⒉说明数组的类型。 ⒊说明数组的维数。 ⒋确定各下标的变化范围。 编译系统将根据说明,开辟内存单元,按特有的顺序和相应的类型为各元素分配内存单元。 4.2 一维数组 4.2.1 一维数组的说明 格式: type array1[常量表达式], …, arrayn[常量表达式]; 类型说明符,根据需要可加修饰说明。说明数组的类型。 数组名,用标识符命名。 数组的下标,即数组元素的个数。 int id[5], iyear[10]; float fScore[36]; 当说明数组后,编译时系统会根据定义的类型分配连续的一段内存单元给数组的各元素。 id[0] id[1] id[2] id[3] id[4] 系统为数组分配的连续内存单元,每个单元占两个字节。首地址用数组名id表示,即 id=id[0]。 注:数组的下标从0开始计算 int id[5] 4.2.2 一维数组元素的表示方法 数组元素: 定义一个数组后,连续的内存空间依次存放的各个变量。数组元素具有相同的名称,不同的下标,可以作为单个变量使用,故又称为下标变量。 数组元素的格式: 数组名[下标] 下标:只能为整型常量或整型表达式,若为小数,系统自动取整。 a[5], a[i+j], a[2*2] 均为合法的数组元素。 C规定:只能逐个的引用下标变量,而不能一次引用整个数组。 如要输出有10个元素的数组a,必须使用循环语句逐个输出各下标变量: for(i=0,i10;i++) printf(%d, a[i]); 不能写成:printf(“%d”,a[10]); 或 printf(%d,a); 形式 例: 数组元素的引用。 #include stdio.h main( ) { int i,a[10];   for(i=0;i10;i++)   a[i]=2*i+1; for(i=9;i=0;i--) printf(%3d,a[i]); printf(\n%d,%d\n,a[5.2],a[5.8]);} 程序运行结果:19 17 15 13 11 9 7 5 3 1 11,11 一维数组可以看作一个数列,向量。 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 3 1 5 7 9 11 13 15 17 19 i=0 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 4.2.3 一维数组的初始化 可用三种方法给一维数组赋值: 赋值语句 初始化 动态赋值 ① 初始化所有元素 int a[10]={ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; ② 全部赋初值时,可以不指定长度 unsigned a[ ]={ 0x0000, 0

文档评论(0)

little28 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档