- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数组一维、二维数组;课前预习
将手机调到静音
认真做笔记
及时完成作业;了解数组的概念
掌握定义和引用一维数组的方法
掌握定义和引用二维数组的方法;数组
定义和引用一维数组
定义和引用一维数组;6.1 数组的概念;30名学生成绩,需要用30个变量
100名学生成绩,需要用多少个变量?
用s1,s2,s3,……,s30表示成绩,能否体现内在联系?
C语言用方括号中的数字表示下标,如用s[15]表示,s为数组名,15为数组中元素的个数。;数组是一组有序数据的集合。数组中各数据的排列是有一定规律的,下标??表数据在数组中的序号,如s[5]。
用一个数组名和下标唯一确定数组中的元素。
数组中的每一个元素都属于同一个数据类型。
用循环对数组中的元素进行操作,可以有效地处理大批量的数据,大大提高效率。;6.2.1 定义一维数组
6.2.2 引用一维数组的元素
6.2.3 一维数组的初始化
6.2.4 一维数组程序举例;6.2.1 定义一维数组;6.2.1 定义一维数组;6.2.1 定义一维数组;常量表达式中可以包括常量和符号常量,不能包含变量,即数组的大小不依赖于程序运行过程中变量的值。
int n;
scanf(“%d”,n);
int a[n];
;6.2.2 引用一维数组的元素;6.2.2 引用一维数组的元素;注意定义数组与引用数组元素的区别:
形式上:int a[10];定义数组长度为10;
t=a[6];引用a数组中序号为6的元素;
简单的判别方法:如果在数组名[常量]前有类型名(char,int,float,double等),则为定义数组。如果没有类型名,则为引用数组元素。
;例6.1 引用数组元素。利用循环给数组元素a[0]~a[9]赋值为0~9,然后按逆序输出各元素的值。
解题思路:
先用循环给数组元素a[0] ~a[9]赋值0~9,这样,每个数组元素都有固定的值了,然后按a[9]到a[0]的顺序输出各元素的值。;#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(%d ,a[i]);
printf(\n);
} ;6.2.3 一维数组的初始化;(2) 可以只给一部分元素赋值,未被赋值的根据数组类型自动赋值。
int a[10]={0,1,2,3,4};
int a[10]={0,1,2,3,4,0,0,0,0,0};
;(3)在对全部数组元素赋初值时,如果数据个数确定,则可以在定义数组时不指定数组长度,系统根据数据的数量确定数组的长度。
int a[5]={1,2,3,4,5}; 可写为 int a[ ]={1,2,3,4,5};
注意:如果数组的长度与定义初值的个数不相同,则数组长度不能省略。
如果数组a的长度为10,使用int a[ ]={1,2,3,4,5};数组只赋了5个初值,系统认为数组长度为5。
应该写为a[10] ]={1,2,3,4,5};
;6.2.4 一维数组程序举例;解题思路:
建立一个数组,将数列中第1个数放在数组第1个元素中,数列第2个数放在数组第2个元素中,…
数组序号为i的元素的值是其前两个元素值之和。即:
f[i]= f[i-2]+f[i-1]
用循环来求出数组各元素之和;#include stdio.h
void main()
{ int i;
int f[20]={1,1}; //f[0]和f[1]的值1,1
for(i=2;i20;i++)
f[i]=f[i-2]+f[i-1]; //求f[2]和f[19]的值
for(i=0;i20;i++)
{
if(i%5==0) printf(\n); //每行输出5个
printf(%12d,f[i]);
}
printf(\n);
};例5.8程序在顺序求出并输出各个数后,不能保存这些数据,如果要单独输出第10个数,是比较困难的。
本例用数组处理时,把每个数据都保存在各数组元素中,如果要单独输出第10个数,是很容易的,直接输出f[9]即可。; 例6.3 假如有n个人,各人年龄不同,希望按年龄将他们从小到大排列。
解题思路:
排序的规律有两种:一种是“升序”,从小到大;另一种是“降序”,从大到小
把题目抽象为:“对n个数按升序排序”
采用起泡法排序:先将第1个数和第2个数比较,如果第2个数比第1个数
最近下载
- 2023年下半年广西普通高中学业水平合格性考试数学真题试卷含答案.docx VIP
- 量子计算性能评估基准研究报告 202412.pdf VIP
- 全国第三届职业技能大赛(劳动关系协调师)选拔赛理论考试题库(含答案).docx VIP
- 胃癌临床表现.pptx VIP
- 不不兔课件.ppt VIP
- 《无机化学与化学分析》课程思政案例.docx VIP
- 2025辽宁沈阳城市建设投资集团所属企业沈阳国际工程咨询集团有限公司招聘11人笔试备考试题及答案详解.docx VIP
- (高清版)DB5119∕T 21-2021 地理标志产品 江口醇酒生产技术规范 .pdf VIP
- 拆除工程安全技术规范.pdf VIP
- 考研真题 天津外国语大学801英语语言文学(英美文学方向)历年考研真题汇编.docx VIP
文档评论(0)