认证北大裘宗燕《从问题到程序》第六章_数据对象的顺序组合数组ppt模版课件

认证北大裘宗燕《从问题到程序》第六章_数据对象的顺序组合数组ppt模版课件

ID:20199010

大小:184.00 KB

页数:89页

时间:2018-10-09

认证北大裘宗燕《从问题到程序》第六章_数据对象的顺序组合数组ppt模版课件_第1页
认证北大裘宗燕《从问题到程序》第六章_数据对象的顺序组合数组ppt模版课件_第2页
认证北大裘宗燕《从问题到程序》第六章_数据对象的顺序组合数组ppt模版课件_第3页
认证北大裘宗燕《从问题到程序》第六章_数据对象的顺序组合数组ppt模版课件_第4页
认证北大裘宗燕《从问题到程序》第六章_数据对象的顺序组合数组ppt模版课件_第5页
资源描述:

《认证北大裘宗燕《从问题到程序》第六章_数据对象的顺序组合数组ppt模版课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、从问题到程序裘宗燕北京大学数学学院2005年第六章,数组程序的活动都与数据有关:输入/输出、存储、计算等。需要处理的信息多种多样。数据可能简单或复杂,数据间可有丰富多采、密切或松弛的关系。语言需要提供一套数据机制,描述与数据有关的问题:必须足够丰富,以满足需要;不能过庞杂,臃肿难用;也不能太低级,使描述过于烦琐。高级语言的通行方式:把数据分为类型,每个类型是一个数据集。一组基本数据类型;对象书写方式;基本操作。一组构造复合数据类型或对象的机制。组合的数据对象称为复合数据对象。复合对象形成的类型称为复合数据类型,组成部分称为成分/成员/元素。“

2、数据结构”是计算机科学的一个重要概念,也是计算机学科一门重要后续课程的名称。C提供了一组基本类型:int、double等。构造机制包括数组、指针、结构、联合。可用它们组合数据对象,作为整体使用。本章介绍数组。可创建能存放复合类型数据的变量。这种变量可作为整体使用,通过名字可以访问整个复合对象。提供访问复合数据对象成分的操作,以存取复合变量的成分:使用成分的值或给成分赋值。常见组合机制是数组和结构,另一重要机制是指针,用于构造更复杂的数据结构。6.1数组的概念、定义和使用数组(array)是多个同类型数据对象的组合。一个数组汇集了多个数据项,数

3、组元素。可从数组出发处理各元素,以统一方式处理一批/所有元素,是数组和一组独立变量的主要区别。为此需要:数组描述,数组变量定义数组使用,包括通过数组变量使用其元素数组实现,数组的存储方式数组变量定义定义数组变量(定义数组)时需说明:数组元素类型数组(变量)的元素个数元素个数也称数组大小或长度。定义数组变量时,方括号内整型表达式说明元素个数,表达式应能静态确定值,可用字面量或枚举常量例,定义两个数组:inta[10];doublea1[100];数组定义可以与其他变量定义写在一起,如:inta2[16],n,a3[25],m;可定义外部数组和局

4、部数组,包括局部静态数组(用static)。作用域与存在期与简单变量相同。数组的外部说明不必描述数组大小。例:externinta[];externdoublea1[];下面函数里数组定义不合法:voidf(intm,intn){intb[n];/*非法,编译时无法确定大小*/....}新C99标准支持这种定义,满足C99的编译器很少数组使用基本操作是元素访问。元素顺序编号,首元素序号0,其余顺序编号。n元数组元素编号是0到n-1。定义:intb[100];元素编号为0、1、2、…、99。称为下标或指标。元素访问通过[]运算符,优先级最高,运

5、算对象是数组名和括号里表示下标的表达式。表达式、语句里的b[3]称为下标表达式。例:有上面定义后,可写:b[0]=1;b[1]=1;b[2]=b[0]+b[1];b[3]=b[1]+b[2];简单情况可用简单变量代替数组b,如定义:intb0,b1,b2,b3;可以写类似语句。这没有表现出数组的价值。数组意义在于能以统一方式描述对一组数据的处理。下标表达式可用一般的整型表达式。如:b[i]=b[i-1]+b[i-2];访问哪个元素由i值确定。同一语句可访问不同元素,可用在循环里访问一批元素。for(i=0;i<100;++i){b[i]+=a

6、1[i]*a2[i];}/*假设数组都有定义*/循环中涉及到300个基本数据对象。例:写程序创建包含前30个Fibonacci数的数组,然后打印数组中所有的数。程序:#includeintmain(){longfib[30];intn;fib[0]=1;fib[1]=1;for(n=2;n<30;++n)fib[n]=fib[n-1]+fib[n-2];for(n=0;n<30;++n){printf("%d",fib[n]);putchar(n%6==5?'':'');}/*6个数输出一行*/return0;}对数组的

7、多个或全部元素操作,常用for语句。令变量遍历数组下标:for(n=0;n<数组长度;++n)...问题:fib是30个元素的数组,假设程序里写:for(n=2;n<=30;++n)fib[n]=fib[n-1]+fib[n-2];循环中试图访问fib[30],实际无此元素。用超范围的下标访问称为越界访问,是数组使用中最常见的错误。下标值超范围是运行中的问题。C不检查数组元素访问的合法性,运行中出现越界不会报错。超范围访问是严重错误,后果无法预料。在一些系统里越界访问可能导致动态错,系统强行终止出错的程序。DOS不检查非法访问,越界可能破坏本

8、程序的数据/程序本身/其他软件,甚至DOS系统。编程者要保证数组下标值的合法性,保证不越界。数组初始化定义数组时可直接初始化。外部、局部静态或自动数组都可在定义时进

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

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

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