1、数据的定义

定义一:数据是客观事物的符号表示。

学号 姓名 语文 数学 C语言 
6201001 张三 85 54 92 
6201002 李四 92 84 64 
6201003 王五 87 74 73 
6201004         
...         

例:张三的C语言考试成绩为92分,92就是该同学的成绩数据。

定义二:能输入到计算机中并被计算机程序处理的符号的总称。

例:图像、声音等。

总结:现实世界信息的分析、复制、传播首先要符号化,这样才便于处理,尤其是便于计算机的处理。家长、社会要了解一个学生的学习成绩和能力,要看他的学习档案,而学习档案即是说明该学生学习情况的数据。

2、数据元素、数据项

数据元素是数据的基本单位,它也可以再由不可分割的数据项组成。如图示:



3、数据对象

是性质相同的数据元素的集合。如上例:一个班级的成绩表可以看作一个数据对象。

4、数据结构

定义一、数据元素集合(也可称数据对象)中各元素的关系。

定义二、相互之间存在特定关系的数据元素集合。

数据结构的种类:

  特征 示例 
集合 元素间为松散的关系  
线性结构 元素间为严格的一对一关系 如上面的成绩表中各元素 
树形结构 元素间为严格的一对多关系  
图状结构(或网状结构) 元素间为多对多关系  

数据结构的形式定义:

数据结构名称=(D,S)

其中D为数据元素的有限集,S是D上关系的有限集

逻辑结构   “数据结构”定义中的“关系”指数据间的逻辑关系,故也称数据结构为逻辑结构。 
存储结构   数据结构在计算机中的表示称为物理结构。又称存储结构。 
顺序存储结构 
链式存储结构 

存储结构详解:

计算机中存储信息的最小单位:位,8位为一字节,两个字节为一字,字节、字或更多的二进制位可称为位串。在逻辑描述中,把位串称为元素或结点。

当数据元素由若干数据项组成时,位串中对应于各个数据项的子位串称为数据域(Data Field)。

例:上述成绩表数据用C语言的结构体数组classonestu[50]来存储:

struct stu {
int stuno;/*数据项,也称stu位串中的一个子位串,或叫做数据域*/ 
char name[20];
int maths;
int language;
int c_language;
} classonestu[50];

二、数据类型 [url]http://www.shandongbz168.com[/url]



1、定义:数据类型是一个值的集合和定义在这个值集上的一组操作的总称。

例:C语言中的整型,其内涵为一定范围的自然数集合,及定义在该集合上的加减乘除及取模、比较大小操作。而实型则无取模操作。当然整型也不需四舍五入。

2、数据类型的种类:

  特征 例 
原子类型 值在逻辑上不可分解 int float 
结构类型 值由若干成分按某种结构组成 struct stu 

数据类型封装了数据存储与操作的具体细节。

三、总结

数据->数据元素[url]http://www.zhonghuabz168.com[/url]

具有特定关系的数据元素集合->数据结构

数据结构的逻辑表示与物理存储->逻辑结构与存储结构

人们不仅关心数据的逻辑结构、存储结构,还关心数据的处理方法(算法)与处理结果->数据类型

数据类型