- 10
- 0
- 约 63页
- 2017-05-02 发布于四川
- 举报
C大学基础教程第五章zhou
C++大学基础教程
第5章 数组
北京科技大学 计算机系
数组基本概念
数组是具有一定顺序关系的若干相同类型变量的集合。
组成数组的变量称为该数组的元素。
数组元素都有相同的变量名(数组名),但是有不同的下标。
数组属于构造类型
一个人N门课的成绩怎样存储和处理?
一个班N门课的成绩怎样存储和处理?......
一维数组的定义与引用
一维数组的定义
类型说明符 数组名[ 常量表达式 ];
例如: int a[10]; 1) a 为整型数组名;
2)a数组有10个元素,每个元素都是整数数据:a[0]...a[9]
数 组
上C++课程的学生成绩(120个学生)
float scoresCPlus[120];
scoresCPlus[0]
scoresCPlus[119]
一维数组的存储顺序
数组元素在内存中顺次存放,它们的地址是连续的。
Eg.int a[10];
具有10个元素的数组 a,在内存中的存放次序如下:
数组名字是数组首元素的内存地址。
数组名是一个常量,不能被赋值。
数 组
一维数组的定义与引用
引用
数组必须先定义,后使用。
只能逐个引用数组元素,而不能一次引用整个数组
数组元素的引用是通过下标变量实现的。
元素的引用形式为:
数组名[下标表达式]
例如1:int a[10]; a[0]=a[5]+a[7]-a[2*3]
2: int salaries [6];
int a=5; salaries[a]=900;
数 组
注意
在使用数组元素时需要注意:
►数组元素的下标表达式其结果必须正整数(≥0)。
►数组元素的下标值从0开始,不得超过声明时所定义的上界。
数组的下标
数组元素的下标是数组元素到数组开始地址的偏移量。
第1个元素的下标为0,其地址是数组的首地址,第2个元素的下标为1,偏移量距离首地址是1个数组元素大小,依次类推。
因此,数组元素是一系列大小相同的连续项,每项到公共基点(数组起始地址)的偏移量是固定的。
错误的数组定义语句
void VoidArray[10];
//void不可以做数组类型
int a=9; float floatArray[a];
//数组的长度不可以是变量
char charArray[1.5+1.5];
//3.0不是整数
例5.1 定义一个10个整数的数组
解:以ARRAY命名的数组,用100至109对数组元素赋值,并对其求和。需要在一个循环中使用数组。这是使用数组最经常的方式。
void main()
{ int ARRAY [10];
int sum=0;
for (int i=0;i10;i++)
{ ARRAY[i]=100+i;
sum+= ARRAY[i];
}
}
注意
不能直接把一个数组赋给另一个数组。假设要将数组total_sales的值拷贝到数组saved_sales中,使用下面的赋值方法就是错误的:
saved_sales =total_sales; //error
应使用一个循环语句将total_sales中的元素的值逐个赋给数组saved_sales中的每个元素。如下面的代码所示:
for (int i=0;iARRAY_SIZE;i++)
saved_sales[i] =total_sales[i];
一维数组的初始化
可以使数组得到初值:
在声明数组时对数组元素赋以初值。例如:int a[10]={0,1,2,3,4,5,6,7,8,9};
可以只给一部分元素赋初值。其他元素自动赋值为0例如:int a[10]={0,1,2,3,4};
在对全部数组元素赋初值时,可以不指定数组长度。长度为初值的个数。
例如:int a[ ]={1,2,3,4,5} 等价于
int a[5]={1,2,3,4,5}
数 组
大括号的使用
通过使用大括号,可初始化任何一种类型的数组。
例如,要记录前三年的销售总额,则可以如下定义并初始化一个数组:
double sales[]= {4323.43,122355.32,343324.96}
注意:上面这种使用大括号来初始化数组的方法只能在定义数组时使用。在数组定义之后,就不能用这种方法了,而只能逐个元素地赋值。
double sales[3];
sales= {4323.43,122355.32,343324.96}
×
全局数组初始化
C++自动将全局数组变量中的所有元素初始化为0或null。
如果未赋初值,
您可能关注的文档
最近下载
- 2026年养老产业行业创新报告.docx
- C正谱怜悯我吧上帝 pieta signore.pdf VIP
- 《专业工程管理与实务》.pdf VIP
- 中国血栓性疾病防治指南(2025版).docx VIP
- 施工质量日志-.xls VIP
- 2025年国家公务员全国总工会面试题及答案.docx VIP
- 合肥市普通高中六校联盟2025-2026学年高三第一次语文教学质量监测+答案.docx VIP
- 局部晚期食管癌患者新辅助免疫治疗与常规新辅助治疗的比较:系统评价和meta分析.pdf
- 2025以骑手为代表的新就业群体研究报告:职业技能与跑单时长对收入的共同作用.pdf VIP
- 年产一亿片别嘌呤醇的车间工艺设计.doc VIP
原创力文档

文档评论(0)