- 1、本文档共16页,可阅读全部内容。
- 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案例教程教案word文档)第六章
第6章?数组的定义和引用6.1 一维数组
6.1.1 一维数组的定义
由一组类型相同的相关数据项构造而成的集合称为数组(Array),在内存中占据连续的存储空间。构成数组的数据项称为数组的元素(element of Array)。同一数组中的元素,具有相同的数据类型。
1.?? 一维数组的定义格式:
[存储类型] 数据类型 数组名[数组长度]
2.?? 说明:
(1)??? 存储类型是auto类型或static类型,缺省时系统默认为auto类型。如果定义为auto类型,数组存放在动态存储区;如果定义为static类型,数组存放在静态数据区。
(2)??? 数据类型表示的是数组中各元素的数据类型,可以是任何基本类型和构造类型。但同一数组中的各元素必须属于同一数据类型。
(3)??? 数组名的命名应该符合C语言中标识符命名规则。
(4)??? 定义数组时,数组的长度是数组中元素的个数,只能用常量或符号常量表示,不能是变量或包含变量的表达式。
例:int a[7];
表示定义了一个自动存储类型,数组名为a,数组长度为7的整型数组。它是一个变量的集合,a数组中共包含有7个元素。数组元素的下标从0开始,因此a数组中的元素依次为a[0]、a[l]、a[2]、a[3]、a[4]、a[5]、a[6]。a数组在存储时,占用连续的存储单元,存储单元内的值是随机的。如图6-1所示。?
数组元素: a[0] a[1] a[2] a[3] a[4] a[5] a[6] 存储单元: -23 5 -4 1324 6684 -9336 -545 ??????????????? 图6-1 数组a的内存分配图
6.1.2 一维数组元素的引用
对数组元素的引用就是对数组元素的使用,数组定义之后就可以对数组元素引用和操作了。在C语言中,只能逐个引用数组元素,不能一次引用整个数组。一个数组元素就是一个变量,其使用规则与同类型的变量的使用是一样的。
数组元素的引用格式:
数组名[下标]
它表示数组中的某个元素。下标是数组元素在数组中的排列序号,可以是整型常量、变量或表达式。例如:
a[0]=a[1]+3+a[2*2]+a[9-3]
〖例6-1〗一维数组的定义及引用。
程序清单:
#include stdio.h
void main()
{
int i,a[10]; /*定义一个整型的一维数组*/
for(i=0;i=9;i++)
a[i]=i; /*对数组各元素赋值*/
for(i=9;i=0;i--)
printf(a[%d]=%d,i,a[i]); /*逆向输出数组元素的值*/
}
输出结果:
a[9]=9 a[8]=8 a[7]=7 a[6]=6 a[5]=5 a[4]=4 a[3]=3 a[2]=2 a[1]=1 a[0]=0
6.1.3 一维数组的初始化
数组的初始化可以在定义时完成,也可以在数组定义之后对数组元素逐个赋值。
1.??
数据类型 数组名 [数组长度]={数据1,数据2,…,数据n};
例如: double b[4]={1.0,3.2,6,5.0};
在定义b数组的同时完成了初始化,数组中的每个元素按照先后次序得到相应的赋值,即:b[0]=1.0, b[1]=3.2, b[2]=6.0, b[3]=5.0。
2.??
(1)????????? 花括弧中的数据应与定义的类型一致,否则系统会进行自动类型转换。
(2)????????? 可以只给数组的前面一部分元素赋值。例如:
int a[6]={0,3,2};
a数组的前3个元素依次得到相应的赋值,而后3个元素则由系统自动赋为0。
(3)????????? 在对数组全部元素赋值时,可以省略数组的长度。例如:
int a[]={0,3,2,6,-9,10,45,78};
系统会根据花括弧中初值的个数自动定义a数组的长度为8。
对于static类型的未赋初值的数组,系统会自动将数组的全部元素初始化为0;而对于auto类型的数组,C编译器不对其进行初始化,必须在程序中进行初始化。
6.1.4 一维数组的应用
〖例6-2〗输入10个数,输出其中的最大值和最小值。
#include stdio.h
#define N 10
void main()
{
int i;
float a[N],max,
您可能关注的文档
- CCNA第一学第三章章节测试.doc
- CCNA第二学思科官方第二单元章节测试.doc
- CCNA第二学思科官方第六单元章节测试.doc
- CCNA第四学第七章节练习.doc
- CDMA网络技发展现状和趋势.doc
- Cgmefpa算机二级考试公共基础知识(不帅也不乖).doc
- ch 1 函数极限.doc
- CH12国民经统计概述-GDP——20世纪最伟大的发明之一.doc
- ch2 电磁波与地物波普特征.doc
- CH2 资产负表分析试题(含答案).doc
- 注册验船师高频真题题库2025.docx
- 注册验船师高频题库带解析2025.docx
- 注册验船师考试必备资料2025.docx
- 注册验船师精选题库带分析2025.docx
- 注册验船师考前冲刺必刷题附答案2025.docx
- 新高考生物二轮复习讲练测第10讲 人体的稳态与免疫调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第13讲 生物技术与工程(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第7讲 遗传的基本规律与伴性遗传(检测)(原卷版) .docx
- 新高考生物二轮复习讲练测第13讲 生物技术与工程(检测)(原卷版).docx
文档评论(0)