- 1
- 0
- 约2.27万字
- 约 84页
- 2018-05-15 发布于四川
- 举报
第5章 数组 5.1 数组的概念 5.2 一维数组的定义和引用 5.3 二维数组的定义和引用 5.4 用数组名作函数参数 5.5 字符数组 *5.6 C++处理字符串的方法——字符串类与字符串变量 5.1 数组的概念 概括地说: 数组是有序数据的集合。要寻找一个数组中的某一个元素必须给出两个要素,即数组名和下标。数组名和下标惟一地标识一个数组中的一个元素。 数组是有类型属性的。同一数组中的每一个元素都必须属于同一数据类型。一个数组在内存中占一片连续的存储单元。如果有一个整型数组a,假设数组的起始地址为2000,则该数组在内存中的存储情况如图5.1所示。 图5.1 引入数组就不需要在程序中定义大量的变量,大大减少程序中变量的数量,使程序精炼,而且数组含义清楚,使用方便,明确地反映了数据间的联系。许多好的算法都与数组有关。熟练地利用数组,可以大大地提高编程和解题的效率,加强了程序的可读性。 C++用方括号来表示下标,如用s[1],s[2],s[3] 分别代表s1,s2,s3。 5.2 一维数组的定义和引用 5.2.1 定义一维数组 定义一维数组的一般格式为 类型标识符 数组名[常量表达式]; 例如 int a[10]; 它表示数组名为a,此数组为整型,有10个元素。 说明: (1) 数组名定名规则和变量名相同,遵循标识符定名规则。 (2) 用方括号括起来的常量表达式表示下标值,如下面的写法是合法的: int a[10]; int a[2*5]; int a[n*2]; //假设前面已定义了n为常变量 (3) 常量表达式的值表示元素的个数,即数组长度。例如,在“int a[10];”中,10表示a数组有10个元素,下标从0开始,这10个元素是: a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7], a[8],a[9]。注意最后一个元素是a[9]而不是a[10]。 (4) 常量表达式中可以包括常量、常变量和符号常量,但不能包含变量。也就是说,C++不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。例如,下面这样定义数组是不行的: int n; cinn; //输入a数组的长度 int a[n]; //企图根据n的值决定数组的长度 如果把第1,2行改为下面一行就合法了: const int n=5; 5.2.2 引用一维数组的元素 数组必须先定义,然后使用。只能逐个引用数组元素的值而不能一次引用整个数组中的全部元素的值。 数组元素的表示形式为 数组名[下标] 下标可以是整型常量或整型表达式。例如 a[0]= a[5]+ a[7]- a[2*3] 例5.1 数组元素的引用。 #include iostream using namespace std; int main( ) {int i,a[10]; for (i=0;i=9;i++) a[i]=i; for (i=9;i=0;i--) couta[i]″ ″; coutendl; return 0; } 运行结果如下: 9 8 7 6 5 4 3 2 1 0 程序使a[0]~a[9]的值为0~9,然后按逆序输出。 5.2.3 一维数组的初始化 (1) 在定义数组时分别对数组元素赋予初值。例如 int a[10]={0,1,2,3,4,5,6,7,8,9}; (2) 可以只给一部分元素赋值。例如 int a[10]={0,1,2,3,4}; (3) 如果想使一个数组中全部元素值为1,可以写成 int a[10]={1,1,1,1,1,1,1,1,1,1}; 不能写成 int a[10]={1*10}; 不能给数组整体赋初值。 (4) 在对全部数组元素赋初值时,可以不指定数组长度。例如 int a[5]={1,2,3,4,5}; 可以写成 int a[]={1,2,3,4,5}; 5.2.4 一维数组程序举例 例5.2 用数组来处理求Fibonacci数列问题。 可以用20个元素代表数列中的20个数,从第3个数开始,可以直接用表达式f[i]=f[i-2]+f[i-1]求出各数。 程序如下: #include iostream #include iomanip using namespace std; int main( ) { int i; int f[20]={1,1}; //f[0]=1,f[1]=1 for(
您可能关注的文档
- 研究生——专业英语写作1.ppt
- 销售管理部标准化(河南培训课件).ppt
- 《c++面向对象程序设计》第5章 多态性.ppt
- 第二章建设工程工.ppt
- 选修专题一——大脑篇.ppt
- 项目二 常用低压电器.ppt
- 材料成型原理及工艺 第一章 液态成型工艺基础理论.ppt
- 江苏锐历·社科赛斯联考前必读.ppt
- ★《如何才能获得健康?》.ppt
- 推进标准化良好行为活动培训资料.ppt
- 2024-2025学年泰山学院计算机科学与技术专业《数据库原理》期末试卷及答案.docx
- 河北省邯郸市大名县第一中学2026届高三化学上学期12月强化训练试题三.doc
- 2025_2026学年新教材高中化学第三章铁金属材料第二节第2课时物质的量在化学方程式计算中的应用学案新人教版必修1.doc
- 2025_2026学年新教材高中地理第一章认识区域1区域及其类型课时评价含解析湘教版选择性必修2.doc
- 2026届高考政治时政热点作业构建人类命运共同体.doc
- 七年级英语上册StarterUnit1Goodmorning练习2新版人教新目标版.docx
- 专题01+读后续写话题之校园生活(复习课件)(全国通用)2026年高考英语二轮复习讲练测.pdf
- 第二章+课时76+污染物跨境转移与环境安全+课件-2026届高三地理一轮复习.pdf
- 专题一 中国古代的政治制度(复习课件)(专题版)2026年高考历史二轮复习讲练测.pdf
- 2026届高考语文专题复习:分析小说环境描写.pdf
原创力文档

文档评论(0)