c语言1
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
paTUDENT用 声明一个新的类型名 用 以代表其上指定 的一个结构体类型*/ 以代表其上指定的一个结构体类型 STUDENT stu1,stu2, *p; 注 意: 注意:struct与typedef struct的区别 与 的区别 抽象数据类型的分类 抽象数据类型的分类 若按其值的不同特性 可以细分为三 类: 其值的不同特性, 若按其值的不同特性,可以细分为三类: (1) 原子类型 属 于原子类型变量的值是不可分解的。 属于原子类型变量的值是不可分解的。 (2)固定 聚合类型 固定聚合类型 属于该类型的变量, 属于该类型的变量,其值由确定数目的 成分按某种结构 组成。 组成。 (3) 可变聚合类型 和固定聚合类型相比较,构成可 变聚合类型“ 和固定聚合类型相比较,构成可变聚合类型“值”的成 分的数目不确 定。 分的数目不确定。 9. 抽象数据类型 抽象数据类型(Abstract Data Type, 简称 简称ADT): : 是 指一个数学模型 数学模型以及定义在此数学模型上的一组 是指一个数学模型以及定 义在此数学模型上的一组 操作。 操作。 后两种类型统称为结构类型 结构类型。 注:后两种类型统称为结构类型。 抽象数据类型的表示: 三元组表示 表示) 抽象数据类型的表示: (用三元组 表示) (D,S,P) , , ) D:数据对象 S:D上的关系集 P:对D的基本操作集 : : 上的关系集 : 的基本操作集 抽象数据类型的定义形式如下: 抽象数据类型 的定义形式如下: 形式如下 ADT 抽象数据类型名称 { 数据对象:<数据对象的定义 数据对象的定义> 数据对象:<数据对象的定义> 用伪码 描述 数据关系: 数据关系 的定义 数据关系的定义> 数据关系:<数据关系的定义 基本操作: 基本操作的定义 基本操作的定义> 基本操作:<基本操作的定义 两种参数: 两种参数: }ADT 抽象 数据类型名称 1.赋值参数:只为操作提供 1.赋值参数: 赋值参数 基本操作的定义形式如下 的定义形式如下: 基本操作的定义形式如下: 输入值。 输入值。 2.引用参数:以 &打头,除可 2.引用参数: 打头, 引用参数 基本操作名(参数名 参数名) 基本操作 名 参数名 提供输入值外,还将返 提供输入值外, 初始条件: 初始条件描述 初始 条件描述> 初始条件:<初始条件描述 回操作结果。 回操作结果。 操作结果: 操作结果描述 操作结果描述> 操作结果:<操作结果描述 见P9 例1-6 10.多形数据类型 多形数据类型(polymorphic data type):是指其 多形数据类 型 : 成分不确定的数据类型 的数据类型。 值成分不确定的数据类型。 注:对多形数据类型而言,不论其元素具有何种特性, 对多形数据类型而言, 不论其元素具有何种特性, 元素之间的关系相同,基本操作也相同。 元素之间的关 系相同,基本操作也相同。 1.3 抽象数据类型的表示与实现 可通过固有数据类型 表示和实现, 固有数据类型来 抽象数据类型可通过固有 数据类型来表示和实现,即 利用处理器中已存在的数据类型来说明新的结构, 利用 处理器中已存在的数据类型来说明新的结构,用已 经实现的操作来组合新的操作。 经实现的操作来组合新的操作。 注:描述工具:介于伪码和C语言之间的类C语言。 语言之间的 语言。 描述工 具:介于伪码和 语言之间的类 语言 伪码 语言描述中的语句及约定: 类C语言描述中的语句及约定: 语言描述中的语句 及约定 (1)预定义常量和类型 预定义常量和类型 (2)数据结构的表示 存储结构 用类 型定义 数据结构的表示(存储结构 用类型定义(typedef)描述 数据结构的表示 存储 结构)用类型定义 描述 (3)基本操作的算法用函数描述 基本操作的算法 基本操作的 算法用函数描述 (4)赋值语句 赋值语句 (5)选择语句 选择语句 (6)循环语句 循环语 句 (7)结束语句 结束语句 (8)输入语句 输入语句 (9)注释 注释 (10)基本函数 基本 函数 (11)逻辑运算约定 逻辑运算约定 1.4 算法和算法分析 1. 算法 算法(algorithm):解决某一特定问题的具体步 :解决某一特定问题的 具体步 骤的描述, 骤的描述,是指令的有限序列 2. 算法特性: 算法特性: 有穷性 — 一个算法必须在执行有 限步骤之后结束 ? ?确定性 — 算法的每一
本文由心中一棵树贡献 ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机 查看。 数据结构(C语言版 数据结构 语言版) 语言版 Data Structure 主讲教师: 主讲教师:钱鸽 邮箱: 邮箱:qiange_2009@163.com 第一章 绪言 1.1 什么是数据结构 1.2 基本概念和术语 1.3 抽象数据类型的表示与实现 1. 4 算法和算法分析 1.1 什么是数据结构 Niklaus Wirth(尼克劳斯.沃思,瑞士人,1934) Wirth(尼克劳斯.沃思,瑞 士人,1934) 1984年的图灵奖获得者 Pascal语言之父及结构化 年的图灵奖获得者, 1984年的图灵奖获得者,Pascal语言之父及结构化 程序设计的首创者。 程序设计的 首创者。 1976年出版一书 年出版一书: 1976年出版一书: Algorithm+DataStruct ures=Programs 算法+数据结构=程序) (算法+数据结构=程序) 程序设计: 程序设 计: 为计算机处理问题编制一组指令集 算法: 算法:处理问题的策略 数据结构: 数据 结构:问题的数学模型 例1 书目自动检索系统 线性表 书目文件 书目卡片 001 高等数学 樊映川 002 理论力学 罗远祥 登录号: 登录号: 00 3 高等数学 华罗庚 书名: 004 书名: 线性代数 栾汝书 …… 作者名: …… …… 作者名: 按书名 高等数学 理论力学 线性代数 …… S01 L01 S01 S02 …… 索引表 分类号: 分类号: 001, 003… … 樊映川 出版单位: 出版单位: 002, … … .. 华罗庚 出版时间: 出版时间: 004, … … 栾汝书 价格: 价格: … … .. ……. 按作者名 001,… 002,…. 004,…. ……. 按分类号 L S …… 002,… 001,003, …… 例2 人机对奕问题 树 …….. …….. ……… ……… ……… ……… 例3 多叉路口交通灯管理问题 图 C AB AC AD B BA BC BD E DA EA EB DB EC DC ED A D 是一门研究非数值计算 非数值计算的程序 数据结构定义: 是一门研究非数值计 算的程序 设计问题中计算机的操作对象以及它们之间的关 设计问题中计算机的操作 对象以及它们之间的关 操作对象以及它们之间的 操作等等的学科 等等的学科。 系 和操作等等的学科。 1.2 基本概念和术语 1. 数据 数据(data):所有能输入到计算机中去的描述客观事物的符号 :所有 能输入到计算机中去的描述客观事物的符号 2. 数据元素(data element):数据的基
page 1
本单位,也称节点( node) :数据的基本单位,也称节点 数据元素 基本单位 或记录 (record) 或记录 3. 数据项 数据项(data item):有独立含义的数据最小单位,也称 域 最小单位, :有独立含义的数据最小单位 (field) 4. 数据对象 数据对象(data object):性质相同的数据元素的集合,是数据 :性质相同的数据元素的集合, 的 一个子集 5. 数据结构 数据结构(data structure):数据元素和数据元素关系的集合 : 根据数据元素间关系的基本特性,有四种基本数据结构 根据数据元素间关系的 基本特性,有四种基本数据结构: (集合 集合)——数据元素间除“同属于一个集合” 外,无其它关系 数据元素间除“ 集合 数据元素间除 同属于一个集合” 线性结构— —一个对一个,如线性表、栈、队列 线性结构 一个对一个,如线性表、 一个对一个 树形结构——一个对多个,如树 一个对多个, 树形结构 一个对多个 图状结构—— 多个对多个,如图 多个对多个, 图状结构 多个对多个 6. 数据的逻辑结构:只抽象反映数据元素的逻辑关系 数据的逻辑结构:只抽象 反映数据元素的逻辑关系 7. 数据的存储 物理 结构:数据的逻辑结构在计算机 数据 的存储(物理 结构: 物理)结构 存储器中的实现 存储结构分为: 存储结构分为: 顺序存储结构 存储结构——借助元素在存储 器中的相对位置来表示 借助元素在存储器中的相对位置 顺序存储结构 借助元素在存 储器中的相对位置来表示 数据元素间的逻辑关系 链式存储结构 存储结构——借助指 示元素存储地址的指针表示数据 借助指示元素存储地址的指针 链式存储结构 借助指 示元素存储地址的指针表示数据 元素间的逻辑关系 数据的逻辑结构与存储结构密切 相关 算法设计 算法实现 逻辑结构 存储结构 存储地址 存储内容 Lo Lo+m 元素1 元素1 元素2 元素2 …….. Lo+(i-1)*m 元 素i 元素i …….. Lo+(n-1)*m ( 元素n 元素n 顺序存储 Loc(元素 元素i)=Lo+(i-1)*m 元素 ( h 1345 链式存储 元素2 元素2 1536 元素3 元素3 1346 元素4 元素4 h 元素1 元素1 1400 ∧ 存储地址 1345 1346 ……. . 1400 ……. . 1536 存储内容 元素1 元素1 元素4 元素4 …….. .. 元素2 元素2 …….. .. 元素 3 元素3 指针 1400 ∧ ……. . 1536 ……. . 1346 数据结构的三个方面: 数据结构的三个方面: 线性结构 数据的逻辑结构 线性表 栈 队 树形结构 非线性结构 图形结构 顺序存储 链式存储 数据的存储结构 数据的运算:检索、排序、插入、删除、 数据的运算:检索、排序、插入、删 除、修改等 8. 数据类型 数据类型(data type):高级语言中指数据的取 :高级语言中指数 据的取 及其上可进行的操作的总称。 值范围及其上可进行的操作的总称 值范围及其 上可进行的操作的总称。 例 C语言中,提供int, char, float, double等基本数据类型, 语言中,提供 等基本数据类型, 语言中 数组、结构体、共用体、枚举等构造数据类型 还有指针 、 构造数据类型, 数组、结构体、共用体、枚举等构造数据类型,还有指针、 类型 等。 空(void)类型等。用户也可用 类型等 用户也可用typedef 声明新的类型名来代 替已 有的类型名。 有的类型名。 结构体: 结构体: 结构体: 结构体: struct stud { int num; char name[20]; float score; }; struct stud stu1,stu2, *p; typedef struct { int num; char name[20]; float score; }STUDENT; /*声明一个
本文由心中一棵树贡献 ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机 查看。 数据结构(C语言版 数据结构 语言版) 语言版 Data Structure 主讲教师: 主讲教师:钱鸽 邮箱: 邮箱:qiange_2009@163.com 第一章 绪言 1.1 什么是数据结构 1.2 基本概念和术语 1.3 抽象数据类型的表示与实现 1. 4 算法和算法分析 1.1 什么是数据结构 Niklaus Wirth(尼克劳斯.沃思,瑞士人,1934) Wirth(尼克劳斯.沃思,瑞 士人,1934) 1984年的图灵奖获得者 Pascal语言之父及结构化 年的图灵奖获得者, 1984年的图灵奖获得者,Pascal语言之父及结构化 程序设计的首创者。 程序设计的 首创者。 1976年出版一书 年出版一书: 1976年出版一书: Algorithm+DataStruct ures=Programs 算法+数据结构=程序) (算法+数据结构=程序) 程序设计: 程序设 计: 为计算机处理问题编制一组指令集 算法: 算法:处理问题的策略 数据结构: 数据 结构:问题的数学模型 例1 书目自动检索系统 线性表 书目文件 书目卡片 001 高等数学 樊映川 002 理论力学 罗远祥 登录号: 登录号: 00 3 高等数学 华罗庚 书名: 004 书名: 线性代数 栾汝书 …… 作者名: …… …… 作者名: 按书名 高等数学 理论力学 线性代数 …… S01 L01 S01 S02 …… 索引表 分类号: 分类号: 001, 003… … 樊映川 出版单位: 出版单位: 002, … … .. 华罗庚 出版时间: 出版时间: 004, … … 栾汝书 价格: 价格: … … .. ……. 按作者名 001,… 002,…. 004,…. ……. 按分类号 L S …… 002,… 001,003, …… 例2 人机对奕问题 树 …….. …….. ……… ……… ……… ……… 例3 多叉路口交通灯管理问题 图 C AB AC AD B BA BC BD E DA EA EB DB EC DC ED A D 是一门研究非数值计算 非数值计算的程序 数据结构定义: 是一门研究非数值计 算的程序 设计问题中计算机的操作对象以及它们之间的关 设计问题中计算机的操作 对象以及它们之间的关 操作对象以及它们之间的 操作等等的学科 等等的学科。 系 和操作等等的学科。 1.2 基本概念和术语 1. 数据 数据(data):所有能输入到计算机中去的描述客观事物的符号 :所有 能输入到计算机中去的描述客观事物的符号 2. 数据元素(data element):数据的基
page 1
本单位,也称节点( node) :数据的基本单位,也称节点 数据元素 基本单位 或记录 (record) 或记录 3. 数据项 数据项(data item):有独立含义的数据最小单位,也称 域 最小单位, :有独立含义的数据最小单位 (field) 4. 数据对象 数据对象(data object):性质相同的数据元素的集合,是数据 :性质相同的数据元素的集合, 的 一个子集 5. 数据结构 数据结构(data structure):数据元素和数据元素关系的集合 : 根据数据元素间关系的基本特性,有四种基本数据结构 根据数据元素间关系的 基本特性,有四种基本数据结构: (集合 集合)——数据元素间除“同属于一个集合” 外,无其它关系 数据元素间除“ 集合 数据元素间除 同属于一个集合” 线性结构— —一个对一个,如线性表、栈、队列 线性结构 一个对一个,如线性表、 一个对一个 树形结构——一个对多个,如树 一个对多个, 树形结构 一个对多个 图状结构—— 多个对多个,如图 多个对多个, 图状结构 多个对多个 6. 数据的逻辑结构:只抽象反映数据元素的逻辑关系 数据的逻辑结构:只抽象 反映数据元素的逻辑关系 7. 数据的存储 物理 结构:数据的逻辑结构在计算机 数据 的存储(物理 结构: 物理)结构 存储器中的实现 存储结构分为: 存储结构分为: 顺序存储结构 存储结构——借助元素在存储 器中的相对位置来表示 借助元素在存储器中的相对位置 顺序存储结构 借助元素在存 储器中的相对位置来表示 数据元素间的逻辑关系 链式存储结构 存储结构——借助指 示元素存储地址的指针表示数据 借助指示元素存储地址的指针 链式存储结构 借助指 示元素存储地址的指针表示数据 元素间的逻辑关系 数据的逻辑结构与存储结构密切 相关 算法设计 算法实现 逻辑结构 存储结构 存储地址 存储内容 Lo Lo+m 元素1 元素1 元素2 元素2 …….. Lo+(i-1)*m 元 素i 元素i …….. Lo+(n-1)*m ( 元素n 元素n 顺序存储 Loc(元素 元素i)=Lo+(i-1)*m 元素 ( h 1345 链式存储 元素2 元素2 1536 元素3 元素3 1346 元素4 元素4 h 元素1 元素1 1400 ∧ 存储地址 1345 1346 ……. . 1400 ……. . 1536 存储内容 元素1 元素1 元素4 元素4 …….. .. 元素2 元素2 …….. .. 元素 3 元素3 指针 1400 ∧ ……. . 1536 ……. . 1346 数据结构的三个方面: 数据结构的三个方面: 线性结构 数据的逻辑结构 线性表 栈 队 树形结构 非线性结构 图形结构 顺序存储 链式存储 数据的存储结构 数据的运算:检索、排序、插入、删除、 数据的运算:检索、排序、插入、删 除、修改等 8. 数据类型 数据类型(data type):高级语言中指数据的取 :高级语言中指数 据的取 及其上可进行的操作的总称。 值范围及其上可进行的操作的总称 值范围及其 上可进行的操作的总称。 例 C语言中,提供int, char, float, double等基本数据类型, 语言中,提供 等基本数据类型, 语言中 数组、结构体、共用体、枚举等构造数据类型 还有指针 、 构造数据类型, 数组、结构体、共用体、枚举等构造数据类型,还有指针、 类型 等。 空(void)类型等。用户也可用 类型等 用户也可用typedef 声明新的类型名来代 替已 有的类型名。 有的类型名。 结构体: 结构体: 结构体: 结构体: struct stud { int num; char name[20]; float score; }; struct stud stu1,stu2, *p; typedef struct { int num; char name[20]; float score; }STUDENT; /*声明一个