- 1、本文档共17页,可阅读全部内容。
- 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辅导材料数组的定义和引用,数组的定义与引用,数组的定义和引用,指针数组的定义和引用,js定义数组,c定义数组,java定义数组,定义数组,php定义数组,c定义二维数组
计算机等级考试二级C辅导材料-数组的定义和引用
知识点提示
1.一维数组和多维数组的定义、初始化和引用。
2.字符串与字符数组
知识点
一.数组的概念
数组是C语言中构造数据类型(导出类型)之一,在程序设计中有着广泛的应用。数据是有序数据的集合,也就是说将一组同类型的数据按照连续的原则,在内存中组织起来便构成数组。数组由元素组成,数组中每一个元素都属于同一个数据类型,并且用一个统一的数组名和下标来惟一地确定数组中的元素。
如果从内存单元分配的角度来理解数组,数组的实质是解决了同类型内存单元一次性的批量分配问题,而且在分配内存单元时还是连续的。
二.一维数组的定义和引用
1.一维数组的定义
格式:类型说明符 数组名[常量表达式];
说明:
⑴ 数组名的命名规则与变量名相同,遵循标识符的命名规则。
⑵ 数组的长度或大小,只能是常量表达式,C中不允许对数组的大小作动态定义。
2.一维数组元素的引用
引用形式:数组名[下标]
说明:
⑴ 下标可以是整常量或整型表达式。可以被赋值,也可以出现在表达式中。
⑵ 下标的起始值是从0开始的,在引用数组元素时,对下标不进行越界检查。
⑶ 对于下标值为i的元素,则其在数组的位置顺序为i+1。
3.一维数组的初始化
在定义数组时,对数组所有元素或部分赋初值,称数组的初始化。一维数组的初始化可用以下的方法:
⑴ 类型说明符 数组名[常量表达式]={初值表};
⑵ 类型说明符 数组名[]={初值表};
说明:不失一般性,定义数组时,若没有对其进行初始化,则其元素的值是不确定值。若对其进行了初始化,则元素的值为指定的初值或零。另外,初值的个数不能超过元素的个数。
4.一维数组元素的输入及输出
不失一般性,一维数组元素的输入输出操作,是通过循环实现,也就是对下标的遍历。
·数组元素的输入操作实现
int a[M],i;
for(i=0;iM;i++)
scanf(%d,a[i]); //输入数据项的分隔符为空格、回车、制表符
·数组元素的输出操作实现
int a[M],i;
for(i=0;iM;i++)
{
printf(%10d,a[i]);
if((i+1)%5==0) printf(\n); //每行输出5个元素
}
5.习题解析
[例1] 以下程序段的运行结果是_______。
float a; double x[5];
printf(%d,%d,%d\n,sizeof(a),sizeof(x),sizeof(x[0]));
答案:4,40,8
[例2] 以下程序段的输出结果是______。
int i,a[6]={1};
for(i=1;i6;i++)
a[i]=a[a[i-1]]*2;
for(i=1;i6;i++)
printf(%3d,a[i]);
printf(\n);
答案:0 2 4 0 2
[例3] 执行以下程序段后数组的各元素值分别是______。
int i,j,t,a[]={1,2,3,4,5,6,7,8,9,10};
i=2;j=6;
while(ij)
{
t=a[i];a[i]=a[j];a[j]=t;
i++; j--;
}
答案:1,2,7,6,5,4,3,8,9,10(数组的逆序存放算法)
[例4] 执行以下程序段后,其输出结果是______。
int i,t,a[]={1,2,3,4,5,6,7,8,9,0},m,n;
m=4;n=2;t=a[n];
for(i=2;in+4;i++)
a[i]=a[i+1];
a[i]=t;
for(i=0;isizeof(a)/sizeof(int);i++)
printf(%3d,a[i]);
printf(\n);
答案: 1 2 4 5 6 7 3 8 9 0(功能是向左移动部分数组元素的值,并将移动部分的第一个元素的值放在移动部分的最后位置上)。
[例5] 以下程序的功能是________。
int i,m1,m2,a[10];
m1=m2=-32768;
for(i=0;i10;i++)
if(m1a[i]) m1=a[i];
for(i=0;i10;i++)
if(m2a[i]a[i]!=m1)
m2=a[i];
答案:将数组a中的头两个最大值存放在m1、m2中(m1、m2赋初值不能为a[0],若最大值为a[0]时,此大值将找不到)。
[例6] 运行下述程序段,若从键盘上输入:6,9↙,则结果是_____。
int x[100],n,a,b,m,i;
n=0;
scanf(%d,%d,a,b);
if(ab)
m=a;
else
m=b;
for(i=1
您可能关注的文档
- ((新人教版))初二数学试题八年级数学下《分式》单元检测习题.doc
- (人教新起点)一年级英语句型测试.doc
- (拷贝技能)心理咨询师咨询技能考试重点难点归纳.doc
- (标线、标志、交通信号灯)工程施工组织设计_secret.doc
- +不得不看的饮水小常识.doc
- Abaqus焊接模拟的例子.doc
- (韩亚明袁加华)浅谈江苏建筑工程中PHC管桩的施工质量控制(科技资讯).doc
- AA考本科口译与听力考试听力重点篇章.doc
- abaqus计算回弹的方法.doc
- ABB焊接机器人工作站故障的分析和维修.doc
- 2025年中国锻铁围栏市场调查研究报告.docx
- 2025年中国椭圆型市场调查研究报告.docx
- 2025年中国无蔗糖原味豆浆市场调查研究报告.docx
- 2025-2031年中国泛在电力物联网行业发展运行现状及投资潜力预测报告.docx
- 2025年中国制袋机零件市场调查研究报告.docx
- 2025年中国智能除垢型电子水处理仪市场调查研究报告.docx
- 2025-2031年中国甘肃省乡村旅游行业市场深度研究及投资策略研究报告.docx
- 2025-2031年中国干海产品行业市场发展监测及投资战略规划报告.docx
- 2025年中国全铝图解易拉盖市场调查研究报告.docx
- 2025年中国人造毛皮服装市场调查研究报告.docx
最近下载
- 孝感非遗经典艺术赏析知到智慧树期末考试答案题库2025年湖北职业技术学院.docx VIP
- 2025年黑龙江省大庆市让胡路区乘风街道招聘社区工作者考前自测高频考点模拟试题含答案解析.docx VIP
- 慢性萎缩性胃炎诊治心得..ppt VIP
- 班组安全管理隐患排查.pptx
- 2025年黑龙江省大庆市让胡路区西宾街道招聘社区工作者考前自测高频考点模拟试题含答案解析.docx VIP
- 2025年黑龙江省大庆市让胡路区奋斗街道招聘社区工作者考前自测高频考点模拟试题含答案解析.docx VIP
- 甲醇燃料安全协议书.docx VIP
- 硕世-新冠产品说明书-加注册证号版.pdf VIP
- GoogleJavaStyleGuide中文版完整版.pdf VIP
- 抖音来客本地生活服务餐饮商家代运营策划方案.pptx VIP
文档评论(0)