单片机原理及应用——C语言程序设计与实现 第2版 教学课件 ppt 作者 王长涛 韩忠华 夏兴华 第五章

上传人:E**** 文档编号:89355769 上传时间:2019-05-23 格式:PPT 页数:14 大小:312.50KB
返回 下载 相关 举报
单片机原理及应用——C语言程序设计与实现 第2版  教学课件 ppt 作者  王长涛 韩忠华 夏兴华 第五章_第1页
第1页 / 共14页
单片机原理及应用——C语言程序设计与实现 第2版  教学课件 ppt 作者  王长涛 韩忠华 夏兴华 第五章_第2页
第2页 / 共14页
单片机原理及应用——C语言程序设计与实现 第2版  教学课件 ppt 作者  王长涛 韩忠华 夏兴华 第五章_第3页
第3页 / 共14页
单片机原理及应用——C语言程序设计与实现 第2版  教学课件 ppt 作者  王长涛 韩忠华 夏兴华 第五章_第4页
第4页 / 共14页
单片机原理及应用——C语言程序设计与实现 第2版  教学课件 ppt 作者  王长涛 韩忠华 夏兴华 第五章_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《单片机原理及应用——C语言程序设计与实现 第2版 教学课件 ppt 作者 王长涛 韩忠华 夏兴华 第五章》由会员分享,可在线阅读,更多相关《单片机原理及应用——C语言程序设计与实现 第2版 教学课件 ppt 作者 王长涛 韩忠华 夏兴华 第五章(14页珍藏版)》请在金锄头文库上搜索。

1、第5章 C51数据结构,5.1 数 组,5.2 指 针,5.3 结 构,5.4 联 合,5.5 枚 举,在单片机应用系统中,除了数值计算和数据的输入输出外,还经常遇到非数值运算问题。为了设计高质量的应用程序,设计者不但要掌握编程技术,还要研究程序所加工的对象,即研究数据的格式、特性、数据元素之间的相互关系。数据结构所研究的内容是数据元素之间的逻辑关系,即所谓数据的逻辑结构。而数据元素在计算机内的存储方式,即是所谓数据的物理结构(或存储结构)。数据结构实际上就是数据元素之间的组织关系,一般地定义为一个二元组B = (K, R),其中K是数据元素的有限集合,而R是K上的关系的有限集合。本书着重阐述

2、C51中数据结构的基本概念及其在相关程序设计中的应用。,第5章C51数据结构,5.1 数 组,5.1.1 数组的定义和引用,数组是一组有序数据的集合,数组中的每一个数据都属于同一个数据类型。数组中的各个元素可以用数组名和下标来唯一地确定。在C语言中数组必须先定义,然后才能使用。 一维数组的定义形式如下: 数据类型 数组名常量表达式; 二维数组的定义形式如下: 数据类型 数组名 常量表达式1 常量表达式2;,5.1.2 字符数组,用来存放字符数据的数组称为字符数组,它是C语言中常用的一种数组。字符数组中的每个元素都是一个字符,因此可用字符数组来存放不同长度的字符串。字符数组的定义方法与一般数组相

3、同,如 char x5就是一个字符数组。,5.1.3 数组元素赋初值,前面介绍了数组的定义方法,可以在内存中开辟一个相应于数组元素个数的存储空间,数组中各个元素的赋值是在程序运行过程中进行的。如果希望在定义数组的同时给数组中各个元素赋初值,可以采用如下方法: 数据类型 存储器类型 数组名 常量表达式 常量表达式表;,5.2 指 针,5.2.1 指针与地址,在C语言中为了能够实现直接对内存单元进行操作,引入了指针类型的数据。指针类型数据是专门用来确定其他类型数据地址的,因此一个变量的地址就称为该变量的指针,例如,有一个整型变量i存放在内存单元40H中,则该内存单元地址40H就是变量i的指针。如果

4、有一个变量专门用来存放另一个变量的地址,则称之为“指针变量”,例如,如果用变量ip来存放整型变量i的地址40H,则ip即为一个指针变量。,5.2.2 指针变量,1指针变量的定义 数据类型为指针型的变量称为指针变量,指针变量用来存放内存地址。其一般定义格式如下: 数据类型 存储器类型 *标识符,2指针变量的引用 指针变量是含有一个数据对象地址的特殊变量,指针变量中只能存放地址。而变量的指针就是该变量的地址。变量的指针和指针变量是两个不同的概念。一个指针变量里面存放的内容是另一个变量在内存中的地址,拥有这个地址的变量则称为该指针变量所指向的变量。每一个变量都有它自己的指针(即地址),而每一个指针变

5、量都是指向另一个变量的。为了表示指针变量和它所指向的变量之间的关系,C语言中用符号“*”来表示“指向”。,3指针变量作为函数的参数 函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型的数据。指针变量作为函数的参数的作用是将一个变量的地址传送到另一个函数中,地址传递是双向的,即主调用函数不仅可以向被调用函数传递参数,而且还可以从被调用函数返回其结果。,5.3 结 构,5.3.1 结构说明和结构变量定义,定义结构变量的一般格式为: struct 结构名 数据类型 变量名; 数据类型 变量名; . 结构变量名;,用已经说明的结构名也可定义结构变量。这样定义时上例变成以下形式: struc

6、t string char name8; int age; char sex4; char depart20; ; struct string person;,5.3.2 结构变量的使用,结构是一个新的数据类型,因此结构变量也可以像其他类型的变量一样赋值、运算,不同的是结构变量以成员作为基本变量。结构成员的表示方式为: 结构变量名.成员名 如果将“变量名.成员名”当成一个整体,则这个整体的数据类型与结构中该成员的数据类型相同,这样就可以像前面所讲的变量那样使用。,5.3.3 结构数组和结构指针,结构是一种新的数据类型,同样可以有结构数组和结构指针。 1结构数组 结构数组就是具有相同结构类型的变

7、量集合。 2结构指针 (1)结构型指针的概念 一个指向结构类型变量的指针称为结构型指针,该指针变量的值是它所指向的结构变量的起始地址。结构型指针也可用来指向结构数组或结构数组中的元素。定义结构型指针的一般格式为: struct 结构类型标识符*结构指针标识符 (2)用结构型指针引用结构元素 通过结构型指针来引用结构元素的一般格式为: 结构指针结构元素,5.4 联 合,联合也是一种新的数据类型,它是一种特殊形式的变量。联合说明和联合变量定义与结构十分相似。其形式为: union 联合名 数据类型 成员名; 数据类型 成员名; . 联合变量名; 联合表示几个变量公用一个内存位置,在不同的时间保存不

8、同的数据类型和不同长度的变量。,5.5 枚 举,枚举是一个被命名的整型常数的集合,枚举在日常生活中很常见。例如,表示星期的SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY就是一个枚举。 枚举的说明与结构和联合相似,其形式为: enum 枚举名 标识符=整型常数, 标识符=整型常数, . 标识符=整型常数, 枚举变量; C语言允许用户自己定义数据类型,这无疑使得C语言的数据结构更加多样化。类型说明的格式为: typedef 数据类型 定义名; 类型说明只定义了一个数据类型的新名字,而不是定义一种新的数据类型,这里的“数据类型”是C语

9、言许可的任何一种数据类型定义名,表示这个类型的新名字。 说明一个联合的格式为: typedef union 数据类型 成员名; 数据类型 成员名; . 联合名;,第4章论述了C51基本的数据类型,但这些基本数据类型的能力有限,有时还需要利用基本类型构造一些复杂的数据类型,那些以基本类型为基础构造出来的类型统称为构造类型。本章主要介绍数组、指针、结构、联合及枚举这些构造类型的定义及应用。合理地使用这些构造类型,不仅可以准确、清晰地描述复杂的数据结构,而且还使得程序显得清晰、简洁。,1使用数组的定义对字符数组置初值。 2使用赋值语句对变量a,b,c进行赋值。 3指针和指针变量有区别吗?请举例说明。 4分别用结构数组和结构指针定义结构并说明它们的区别。 5利用枚举定义说明语句定义一个枚举。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号