C++程序设计教程第4章.pdfVIP

  • 16
  • 0
  • 约2.83万字
  • 约 30页
  • 2018-03-27 发布于河南
  • 举报
C++程序设计教程第4章.pdf

第4章 数 组 教学提示:迄今为止,我们使用的都是属于基本数据类型的数据,程序设计过程中, 除了要处理整型、实型、字符型、布尔型等简单数据类型的数据外,还需要处理具有结构 性质的数据。例如,全班同学的学号,所有同学某次考试的成绩等,这些数据逻辑意义相 关,有明显的结构特征。虽然这些数据本身都能够通过简单数据类型来表示,但是仅使用 简单数据类型,不能很好地体现这些数据的逻辑相关性和结构。需要一种机制来描述这些 相关的数据,这就是数据结构。 本章将介绍数组这一基本的数据结构。数组是由类型相同、逻辑意义相关的一组数据 构成的。如上面提到的全班同学的学号,全班所有同学某次考试的成绩等,这些数据都可 以用数组来描述。每个数组都有一个由标识符来充当的名字,也称为数组名。数组中的每 个元素叫数组元素,它们按顺序分配在内存中一片连续的内存单元中,每个元素占用相同 数目的单元。数组元素是按顺序排列的,顺序号叫数组元素的下标。数组元素通过数组名 和下标来表示,数组可以有多个下标,下标的个数叫数组的维数。数组按维数多少可分为 一维数组、多维数组,按数组元素的类型可分为字符数组、整型数组、实型数组和指针数 组等。 本章介绍 C++的数组,主要内容包括:一维数组的定义与使用、多维数组的定义与使 用、字符串与字符数组。 学习目标: 掌握定义一维数组和二维数组的方法以及设定初值的方法; 掌握数组和循环配合的程序设计方法; 掌握数组操作的基本技巧并能解决实际问题; 掌握数组的一个典型应用——字符串处理,熟悉常用的字符串处理函数; 了解数组的概念; 了解数组元素的存放方式。 4.1 一 维 数 组 4.1.1 一维数组的定义 一维数组中的元素 单元 是线性排列的,并用下标 0,1,2 …标识它的每个元素。如果 一维数组共有 n 个元素,则其下标是 0~ n-1 范围内的一个无符号整数。 一维数组只有一个下标。一般形式为: [ ]; 与变量声明中的存储类别相同; 指明了数组元素的类别,可以 ·86 · C++程序设计 是整型、实型、布尔型和字符型等简单数据类型,也可以是用户定义的复合数据类型,包 括数组类型; 由标识符充当,代表了一个数组变量; 后面的方括号是必 需的,它说明前面的标识符是数组名,在 C++ 中“[ ]”是作为运算符处理的,其优先级与 括号相同,从左向右结合;方括号中的 是整常量表达式,可以省略,表示数组 元素的个数,注意数组元素的下标是从零开始计数的。例如: int a[10]; 声明了 a 是一个整型数组,它有 10 个整型元素,每个元素都是整型的变量,下标的变 化范围是 0~9 。 数组元素是通过数组名和下标来访问的。程序中数组元素的表示形式为: [ ] 是值为整型的表达式,它指明了拟访问的数组元素的下标。例如,数组 a 的 10 个元素可以依次表示为: a[0],a[1],a[2],……,a[9] 在定义一维数组时要注意以下几点。 1 数据类型一般指的是该数组元素的类型。 2 数组名的命名规则要遵循 C++关于标识符的命名规则。 3 数组的元素个数就是数组长度,数组长度是用方括号括起来的一个整数,不能用 圆括号。 4 必须要说明数组的长度,且这个长度要用一个确定的正整数来表示。例如: int a[ ]; //不合法,没有定义数组的长度 int b; int a[x] //不合法,不能用一个变量定义数组的长度 5 依次也可以说明多个同类型数组。例如: int a[10],b[12],c[16]; //定义 a, b ,c 三个整型数组 如果访问数组元素时提供的下标超出了元素的数目,会导致访问越界错误,C++不检 查访问越界,这一点要特别注意。 4.1.2 一维数组的初始化 数组同变量一样需要初始化,数组的初始化可采用以下几种方法实现。 1 在声明数组时可以对数组中开始若干个元素乃至全部元素进行初始化,其方法是 把初始值按顺序放在花括号中,数值之间用逗号分开,例如: int b[10] 1,2,3, ; float c[20] 1,3,5,5,7 double d[6] 6,8,9,4,7 2 在定义数组时既可以对所有元素进行初始化,也可以只对其中的一部分元素进行初 始化。如果初始值的数目小于数组元素的数目,数组剩余的元素被自动初始化为 0,例如: int e[6] 0 ; //实际上将所有的数组元素都初始化为 0 ·86 · 第 4 章 数组 ·87 · 3 全部数组元素赋初始值时,可以不指定数组长度。计算机会根据初始化的数组元 素的个数自动分配存储空间。如果声明数组时省略了数组元素的数目,那么系统将根据初 始值的数目来确定

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档