第16次(一维数组)

第16次(一维数组)

ID:43738019

大小:489.50 KB

页数:26页

时间:2019-10-13

第16次(一维数组)_第1页
第16次(一维数组)_第2页
第16次(一维数组)_第3页
第16次(一维数组)_第4页
第16次(一维数组)_第5页
资源描述:

《第16次(一维数组)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ITEducation&TrainingNeusoftInstituteofInformationDate:26九月2021办公室:C7EMAIL:huang.w@neusoft.com课件下载网址:ftp://computer.dept.ccniit.com任课教师:黄伟第四章数组授课要点数组的概念一维数组的定义和引用一维数组的初始化和赋值数组元素的遍历这样做好吗?如果题目改为10个数、100个数该怎么做?问题1:从键盘输入5个整数,逆序输出这5个数。main(){inta0,a1,a2,a3,a4;scanf(“%d”,&a0);scan

2、f(“%d”,&a1);scanf(“%d”,&a2);scanf(“%d”,&a3);scanf(“%d”,&a4);printf(“%d”,a4);printf(“%d”,a3);printf(“%d”,a2);printf(“%d”,a1);printf(“%d”,a0);}在“学生成绩管理系统”中,我们需要对多个学生进行处理,比如100个学生,是否必须定义100个变量呢?Studentstu1;Studentstu2;Studentstu3;…Studentstu100;定义多个变量,在定义、输入、输出、处理的时候

3、非常不方便。如果需要处理5000个学生的成绩,情况就更糟。问题2以上两个例子有什么共同之处?问题2具有相同的数据类型!数组的概念数组是一组变量,满足下列条件:(1)具有相同的名字 (2)具有相同的数据类型 (3)在存储器中连续存放每个变量名字相同下标不同,称为“数组元素”“数组名”代表整个数组,其值是这组变量在内存中所占连续存储空间的首地址。数组要先定义后使用。数组名不能与相同作用域的其他变量名重名问题如何定义数组?如何为数组元素赋值?如何引用数组元素?一维数组的定义一维数组:只有一个下标的数组定义形式为:类型说明符数组名[常量表达式]例如:

4、inta[10];说明数组名为a数组中每个元素的数据类型为int类型10个数组元素[]内是常量表达式,不能为变量1、定义100个整型变量2、定义50个浮点型变量3、定义1000个“学生”变量,“学生”类型定义如下:typedefstruct{characNum[10];characName[15];……}Student;模仿练习以下一维数组的定义是否正确?inta[];#defineSIZE100floatb[SIZE];intn=10;charc[n];int2a[10];错误,没有指明数组的大小inta[10];正确,SIZE是常量,相当

5、于floatb[100];错误,数组的大小不能是变量,应为inta[10];错误,数组名2a不符合标识符的命名规则数组元素的引用数组就是一组变量的集合,每个数组元素相当于是一个变量数组元素的表示:数组名[下标]如:inta[5];所定义的数组就是五个变量的集合,分别是:a[0],a[1],a[2],a[3],a[4]inta[N];下标的取值范围:0~N-1,其中N为数组的大小下标是整型值,可以是整型常量、整型变量或整型表达式如:a[i]a[3+1]a[2*i-1]注意:下标不能越界,否则可能覆盖其他数据,造成严重后果定义数组之后,与普通变量

6、一样,数组是沒有初始值的,各存储单元的值都是不定的。初始化:定义数组的同时赋初值语法:数据类型说明符数组名[长度]={数值1,数值2,…};如:intdata[10]={0,1,2,3,4,5,6,7,8,9};一维数组的初始化1、定义并初始化一个float型数组,包含5个元素。2、定义并初始化一个字符型数组,包含6个元素。3、定义一个全0的整形数组,包含15个元素。模仿练习初始化注意事项:(1)允许初始化一部分元素,其他没有赋初值的元素初值为0;inta[10]={0,1,2,3,4,5};相当于inta[10]={0,1,2,3,4,5,

7、0,0,0,0};(2)允许初始化时省略数组的长度,数组的长度为赋初值的个数;inta[]={1,2,3,4,5};相当于inta[5]={1,2,3,4,5};(3)不能对整个数组初始化;intdata[5]=1;错误,应为:intdata[5]={1,1,1,1,1};一维数组的初始化数组的赋值只能对数组元素单独操作,不能对数组整体操作。赋值的两种方式:inta[5];赋值运算符如:a[3]=8;输入函数如:scanf(“%d”,&a[3]);例:a={1,3,5,7,9};错误,应单独为每个元素赋值例:a=1;错误,应单独为每个元素赋值

8、对数组的整体赋值只能在初始化时进行一维数组的赋值解决问题1从键盘输入5个整数,保存到数组a中;再逆序输出。main(){inta[5];scanf(“%d”,&a[

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。