- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
北京科技大学计算机系C++大学基础教程第5章数组 第5章数组5.1数组基本概念5.2数组元素的下标5.3数组初始化5.4数组的大小和数组越界5.5字符数组5.6向函数传递数组5.7多维数组本章教学要求掌握数组定义、数组元素的引用以及初始化数组的知识和方法学会把数组用作函数参数学会二维数组的使用初步掌握使用数组实现一些典型算法:排序、矩阵操作、用字符数组处理字符串等。5.1数组基本概念数组是具有一定顺序关系的若干相同类型变量的集合。组成数组的变量称为该数组元素。数组元素都有相同的变量名(数组名),但是有不同的下标。数组属于构造类型。一维数组的定义与引用一维数组的定义类型说明符数组名[常量表达式];例如:inta[10];
1)a为整型数组名;2)a数组有10个元素,每个元素都是整数数据:a[0]...a[9]一维数组的存储顺序一维数组的定义与引用注意在使用数组元素时需要注意:?数组元素的下标表达式其结果必须为自然数(≥0)。?数组元素的下标值从0开始,不得超过声明时所定义的上界。数组元素的下标数组元素的下标是数组元素到数组开始地址的偏移量。第1个元素的下标为0,其地址是数组的首地址,第2个元素的下标为1,偏移量距离首地址是1个数组元素大小,依次类推。因此,数组元素是一系列大小相同的连续项,每项到公共基点(数组起始地址)的偏移量是固定的。错误的数组定义语句voidVoidArray[10];//void不可以做数组类型inta=9;floatfloatArray[a];//数组的长度不可以是变量charcharArray[1.5+1.5];//3.0不是整数例5.1定义一个10个整数的数组解:以ARRAY命名的数组,用100至109对数组元素赋值,并对其求和。需要在一个循环中使用数组。这是使用数组最经常的方式。voidmain(){intARRAY[10];intsum=0;for(inti=0;i10;i++){ARRAY[i]=100+i;sum+=ARRAY[i];}}注意不能直接把一个数组赋给另一个数组。假设要将数组total_sales的值拷贝到数组saved_sales中,使用下面的赋值方法就是错误的:saved_sales=total_sales; //error应使用一个循环语句将total_sales中的元素的值逐个赋给数组saved_sales中的每个元素。如下面的代码所示:for(inti=0;iARRAY_SIZE;i++) saved_sales[i]=total_sales[i];一维数组的初始化可以使数组得到初值:在声明数组时对数组元素赋以初值。
例如:inta[10]={0,1,2,3,4,5,6,7,8,9};可以只给一部分元素赋初值。其他元素自动赋值为0
例如:inta[10]={0,1,2,3,4};在对全部数组元素赋初值时,可以不指定数组长度。长度为初值的个数。例如:inta[]={1,2,3,4,5}等价于inta[5]={1,2,3,4,5}大括号的使用通过使用大括号,可初始化任何一种类型的数组。例如,要记录前三年的销售总额,则可以如下定义并初始化一个数组:doublesales[]={4323.43,122355.32,343324.96}注意:上面这种使用大括号来初始化数组的方法只能在定义数组时使用。在数组定义之后,就不能用这种方法了,而只能逐个元素地赋值。doublesales[3];sales={4323.43,122355.32,343324.96};全局数组初始化C++自动将全局数组变量中的所有元素初始化为0或null。如果未赋初值,那么一个全局的字符数组中的所有元素将为null(空),一个全局的数字数组中的所有元素将为0。程序中应尽量限制全局数组变量的使用。如果要用,也最好在程序中用语句将其显式初始化为0,以明确表示编程者的意图。错误例子例如下面的代码对数组进行初始化是错误的:intarray1[5]={0,1,2,3,4,5};//error初始化值个数多于数组元素个数intarray2[5]={,,1,2,3}; //error不能加入“,”来跳过不赋值的元素。intarray2[5]={0,,
您可能关注的文档
- 2022款雷克萨斯NX260_汽车使用手册用户操作图解驾驶指南车主车辆说明书电子版1.pdf
- VOF学习的几点体会 .pdf
- 天津英华国际学校数学八年级上册期末试卷含答案.pdf
- C++程序设计 大学基础教程第六章.ppt
- C++程序设计 大学基础教程第一章.ppt
- C++程序设计_startnew课件.ppt
- 锅炉部分第三章汽水系统.ppt
- 调整三个压力剖面.ppt
- 多相流模型——Fluent入门培训(安世亚太).pptx
- 公司年会暨颁奖典礼宽屏模板.pptx
- 专题24与圆有关的压轴题-三年(2020-2022)中考数学真题分项汇编(全国通用)(原卷版+解析).docx
- 高考语文一轮复习讲练测(新教材新高考)(七)写作(测)(原卷版+解析).docx
- 高考语文一轮复习讲练测(新教材新高考)(五)名篇名句默写(测)(原卷版+解析).docx
- 高考语文一轮复习基础考点+新题训练2专题62文学类文本常设考点:分析结构概括主题(提升训练)(原卷版+解析).docx
- 专题262020-2021学年浙教版七年级下册期末模拟(二)-2020-2021学年七年级数学下册同步易错题精讲精练(浙教版)(原卷版+解析).docx
- 专项11二次函数与几何综合-面积问题(原卷版+解析).docx
- 高考语文一轮复习讲练测(新教材新高考)第03讲文言文概括分析题(练)(原卷版+解析).docx
- 高考语文一轮复习讲练测(新教材新高考)第02讲辨析和修改病句(练)(原卷版+解析).docx
- 专题26动点综合问题-三年(2020-2022)中考数学真题分项汇编(全国通用)(原卷版+解析).docx
- 高考语文一轮复习讲练测(新教材新高考)(一)非连续性文本阅读(测)(原卷版+解析).docx
文档评论(0)