C大学基础教程第4章课件.ppt

C大学基础教程第4章课件.ppt

ID:57056794

大小:324.00 KB

页数:55页

时间:2020-07-30

C大学基础教程第4章课件.ppt_第1页
C大学基础教程第4章课件.ppt_第2页
C大学基础教程第4章课件.ppt_第3页
C大学基础教程第4章课件.ppt_第4页
C大学基础教程第4章课件.ppt_第5页
资源描述:

《C大学基础教程第4章课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C++大学基础教程第4章数组北京科技大学第4章数组4.1数组概述4.2一维数组4.3二维数组4.4字符数组与字符串4.5数组应用举例2本章教学要求掌握数组定义、数组元素的引用以及初始化数组的知识和方法学会把数组用作函数参数学会二维数组的使用初步掌握使用数组实现一些典型算法:排序、矩阵操作、用字符数组处理字符串等。34.1数组概述在C++语言中,数组属于构造数据类型。数组是用一个名字表示的一组同类型的数据,这个名字就称为数组名。为了区分数组中不同的数据,把存放不同数据的变量用下标来区分,因此数组中的每个变量又叫下标变量或数组元素。一个数组可以分解为多个数组

2、元素,这些数组元素可以是基本数据类型或是构造类型,不同类型的数据按一定的规则分别构成数值数组、字符数组、指针数组、结构数组等各种类别数组。本章介绍数值数组和字符数组。44.2一维数组数组是具有一定顺序关系的若干相同类型变量的集合。组成数组的变量称为该数组元素。数组元素都有相同的变量名(数组名),但是有不同的下标。数组属于构造类型。5一维数组的定义与引用一维数组的定义类型说明符数组名[常量表达式];例如:inta[10];1)a为整型数组名;2)a数组有10个元素,每个元素都是整数数据:a[0]...a[9]数组名的构成方法与一般变量名相同,必须是合法的标

3、识符。上C++课程的学生成绩(180个学生)floatscoresCPlus[180];scoresCPlus[0]scoresCPlus[179]6说明:①类型说明符是任一种基本数据类型或构造数据类型,说明数组中每一个元素的类型。②数组名是用户定义的数组标识符,书写规则应符合标识符的书写规定。③方括号中的常量表达式表示数据元素的个数,也称为数组的长度,必须是整型表达式,不能出现变量。④数组元素是组成数组的基本单元。数组下标从0开始,因此,若定义intia[5];则ia数组的5个元素是:ia[0]、ia[1]、ia[2]、ia[3]、ia[4]。它们是存

4、放在一片连续的内存单元中的,如图4-1所示,存放数组在内存中,两个相邻元素间没有空闲单元。数组的首地址就是ia[0]的地址。数组名也代表数组的首地址,即ia的值与ia[0]的地址值相同。7一维数组的存储顺序数组元素在内存中顺序存放,它们的地址是连续的。Eg.inta[10];具有10个元素的数组a,在内存中的存放次序如下:数组名字是数组首元素的内存地址。数组名是一个常量,不能被赋值。a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]a一维数组的初始化在定义数组时给数组元素赋初值称为数组的初始化。对于没有初始化的数组,有两种情

5、况:一种是全局数组和静态数组,其定义类似于全局变量和静态变量,也就是在函数外部定义的,或加上static修饰得数组,其元素初值全为0;另一种是局部数组,就是在一个函数内定义的数组,其数组元素的初值是不确定。9给一个没有确定初值的一维数组的初始化有3种情况:一种是全部数组元素赋初值,初值元素个数与数组大小相等。例如:inta[5]={1,2,3,4,5};a[0]的值为1,a[1]的值为2,…,a[4]的值为5。全部数组元素赋初值时,可以省略数组长度,例如:inta[]={1,2,3,4,5};系统根据初值的个数确定a数组的长度为5,上面2种形式等价。10

6、另一种是,部分数组元素赋初值,初值个数少于数组元素的个数时,系统将后面没赋初值的元素自动赋0值,例如:inta[5]={1,2,3};a[0]的值为1,a[1]的值为2,a[2]的值为3,其余元素的值为0。还有一种情况,初值的个数多于数组元素的个数时,编译系统会给出出错信息。11错误例子例如下面的代码对数组进行初始化是错误的:intarray1[5]={0,1,2,3,4,5};//error初始化值个数多于数组元素个数intarray2[5]={,,1,2,3};//error不能加入“,”来跳过不赋值的元素。intarray2[5]={0,,2,3,

7、4};//error不能加入“,”来跳过不赋值的元素。intarray3[5]={};//error语法格式错误12数组越界数组的大小是固定的,使用数组时,要注意不能越界。如:charsal_codes[5]={‘a’,’b’,’c’,’d’,’e’};intexemptions[5]={1,2,3,4,5};c++编译器对于数组越界是不报错的。如程序中有语句:exemptions[6]=65;不会出现编译错误,但此操作可能造成不可预料的错误。防止数组越界操作的责任就落在编程者的身上。13一维数组的引用引用数组必须先定义,后使用。只能逐个引用数组元素,而

8、不能一次引用整个数组数组元素的引用是通过下标变量实现的。元素的引用形式为:数组名

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

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

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