网站大量收购独家精品文档,联系QQ:2885784924

第四节 数据类型.ppt

  1. 1、本文档共106页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象程序设计(一) 吕俊白 第四章 数据类型 主要内容: 数组 指针 引用 C-串与string 向量 4.1 数组(P:83) 主要内容: 数组的概念; 数组的定义和数组元素的引用; 一维数组和多维数组; 字符串与字符数组; 重点: 数组定义;数组的应用; 4.1.1定义数组 1.基本概念 例1:输入50个数,要求程序按输入时的逆序把这50个数打印出来。 例2:输入100个学生某门课程的成绩,要求按成绩从高到低的顺序排列并输出。 这个问题同样可以采用数组来存储数据。 (1)什么是数组 所谓数组就是一组相同类型变量组成的集合。 数组的元素:组成数组的n个相同类型的变量,就称为该数组的元素。 数组元素用数组名后跟带方括号的下标表示。 例如:a[0]表示a数组的第一个元素,a[i]表示a数组的第i+1个元素。 从例1可见:下标是可以变动,可以计算的。 (2)数组的维数 数组的维数由数组所带下标说明的个数决定。 每个元素有n个下标的数组称为n维数组。 C++中,数组可以是一维的,也可以是多维的。 若每个元素都只有一个下标则称之为一维数组; 若每个元素都有两个下标则称之为二维数组。 2.数组的定义 数组必须先定义,然后才可以使用。 (1)一维数组的定义语法: 类型标识符 数组名[下标说明]; 说明: 类型标识符:用来指明数组元素的数据类型。 可以是基本数据类型,也可以是非基本数据类型。 数组名:用来标识数组,与变量的命名规则相同。 下标说明:说明数组包含的元素个数,即数组长度。下标说明必须是常量表达式。 常量表达式可以包含枚举常量和字符常量,常量表达式的值是在编译时确定的。 例如: int a[50]; // a是整型数组,有50个整型元素 float b[100]; //b是单精度浮点型数组,有100个单精度浮点型元素 char name[5]; //name是字符数组,有5个字符型元素 int arr[‘e’]; //arr是个整型数组,有101个整型元素, //因为字符’e’的ASCII码为101 const int n=100; int a[n]; //正确! int n=100; int a[n]; //错误! //因为下标说明不是常量表达式 (2)一维数组的存储表示 一个数组定义是具有确定含义的操作,它分配固定大小的空间。 例如:char name[5]; 字符数组name的内存排列示意图: 结论: 数组元素在内存中是顺序、连续存储的(即:在内存中占据一组连续的存储单元),逻辑上相邻的元素在物理地址上也是相邻的。数组名是数组首元素的内存首地址,下标是数组元素到数组开始的偏移量。 第一个元素的偏移量是0,第二个元素的偏移量是1,依次类推。 注意: (1)数组下标从0开始。 (2)在编译时,数组定义中的下标必须确定。 4.1.2数组元素的引用 1.一维数组元素的引用格式: 数组名[下标表达式] 说明: 下标表达式的值就是该元素在数组中的顺序号(0 — n-1),更确切地说是相对于数组基地址的偏移量,即相对地址。 注意: (1)?下标表达式可以是任意合法的算术表达式 例如: 整型常量: a[10] 整型变量: a[i] 整型表达式(通常是算术表达式): a[i*j] (2)下标表达式的取值范围是0 — (n-1)。 使用数组时,只能分别对数组的各个元素进行操作,且必须保证没有超出数组边界。 (3)数组的第一个元素其下标值是0而不是1。 4.1.3数组的初始化 数组初始化就是在定义数组的同时直接给数组元素赋初值。 元素不多而数据值又确定的小数组可以直接在程序中初始化。 例如:int iArray[10]={1,1,2,3,5,8,13,21,34,55}; //定义数组iArray ,并用一组Fibonacci数初始化。 1.一维数组初始化的一般格式: 类型标识符 数组名[下标说明]={值表}; 值表是一个包含n个元素的初值集合,元素之间用逗号分隔,每个元素必须是常量。 可以只对数组的部分元素赋初值。 注意: (1)值表中值的个数不能多于数组元素个数;例如: int array[5]={1,2,3,4,5,6}; //too many initializers (2)值表中的值不能通过跳过逗号的方式来省略; 例如:int array2[5]={1,,2,3,4}; //初始化值不能省略 int array3[5]={1,2,3,,}; //初始化值不能省略 int array4[5]={}; //语法格式错误 (3)初始化值的个数可少于数组元素个数。 只要动用了花括号,就是实施了初始化。 对于实施初始化的

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档