C语言程序设计案例教程 教学课件 作者 沈大林 等 第6章.ppt

C语言程序设计案例教程 教学课件 作者 沈大林 等 第6章.ppt

ID:50353023

大小:546.50 KB

页数:34页

时间:2020-03-08

C语言程序设计案例教程 教学课件 作者 沈大林 等 第6章.ppt_第1页
C语言程序设计案例教程 教学课件 作者 沈大林 等 第6章.ppt_第2页
C语言程序设计案例教程 教学课件 作者 沈大林 等 第6章.ppt_第3页
C语言程序设计案例教程 教学课件 作者 沈大林 等 第6章.ppt_第4页
C语言程序设计案例教程 教学课件 作者 沈大林 等 第6章.ppt_第5页
资源描述:

《C语言程序设计案例教程 教学课件 作者 沈大林 等 第6章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、目录第6章结构体、共用体与枚举6.1【案例25】成绩分析●信息在程序中的表示●结构体定义与初始化●结构体变量的引用●自定义数据类型6.2【案例26】学生信息记录●链表●动态分配存储空间●链表的应用1目录6.3【案例27】共同使用存储空间●共用体的定义与引用●结构体与共用体的异同6.4【案例28】月份与天数●枚举●使用枚举的注意事项2案例源码6.1【案例25】成绩分析6.2【案例26】学生信息记录6.3【案例27】共同使用存储空间6.4【案例28】月份与天数36.1【案例25】成绩分析案例效果本案例中将采用结构体

2、定义实现对学生成绩进行分析的程序,程序运行效果如图6-1-1所示。图6-1-1成绩分析在本案例的实现过程中,将学习结构体类型、用户自定义数据的应用。设计过程(见书)41.信息在程序中的表示相关知识1.信息在程序中的表示在前面的学习中,所学的变量都是单一类型的变量,而现实生活中的很多数据都不是单一类型数据能表述的,比如学生成绩信息,包括学生姓名和各科成绩,显然无法用单一数据来表示。这就需要更为复杂的数据类型,C语言中能够实现这一功能的就是结构体。现实生活中的很多数据是以记录的形式来表现的,例如下面的表6-1-1中

3、的学生成绩和表6-1-2中的职工工资。表6-1-1学生成绩表在表6-1-1中,表中的一行代表一个人的相关信息,这样的一行信息又称为一条记录,每一行表示一个学生的相关成绩信息。在进行信息处理时,通常都是以一条记录为单位进行的,而每一条记录中的信息数据既有整型数据,也有字符型数据,如果使用原来学习的方法,是无法将同一个人的数据放在一个对象中进行处理的。52.结构体定义与初始化表6-1-2职工工资表在表6-1-2所示的职工工资表中,每一行表示一位职工的相关工资信息,这些信息数据同样也不是单一的数据类型。在一条记录中,

4、既有整型数据(奖金、工资等),又有字符串数据(姓名),像这样的数据,是由几种不同类型的数据构成,也不能用数组来表示,因为数组的各个元素都是相同的数据类型。按照以前所学的数据类型是无法处理这种复杂的数据的。C语言提供了将几种不同类型的数据组合到一起的方法,用于解决这样的问题,这就是结构体类型。2.结构体定义与初始化结构体是一种复合的数据类型,它允许用其他的数据类型构成一个结构类型,而一个结构类型变量内的所有数据可以作为一个整体进行处理。同数组类似,一个结构体也是若干数据项的集合,但与数组不同的是,数组中的所有元素

5、都只能是同一类型的,而结构体中的数据项可以是不同的类型。62.结构体定义与初始化(1)结构体的定义结构体的定义形式如下:struct结构体标识名{类型成员变量名1;类型成员变量名2;类型成员变量名3;…};其中,关键字struct用于定义结构体类型,结构体成员的类型可以是普通的数据类型(如int,char),也可以是数组、指针或已定义的结构体等任意的数据类型,在定义的结尾以分号表示结束。有了结构体,前面的记录就可以用结构体方法,按如下所示进行定义:structstudent/*定义学生结构体类型*/{charn

6、ame[8];/*姓名*/intchinese;/*语文*/intmath;/*数学*/inteng;/*英语*/intaver;/*平均成绩*/intcount;/*总成绩*/};72.结构体定义与初始化structgz/*定义职工工资结构体类型*/{intnum;/*职工编号*/charname[8];/*姓名*/intjbgz;/*基本工资*/intjj;/*奖金*/inttc;/*提成*/intsfgz;/*实发工资*/};这里,定义了一个名为student的学生成绩结构体类型和一个名为gz的职工工资结

7、构体类型,在结构体中包括字符数组name和整型变量num、count等成员变量。这样,一个结构体变量就可以包含前面所述记录的所有数据。这样的一个结构体变量又称为结构体对象,其中的name、num、count等变量称为结构体对象的成员变量。注意:结构体类型的定义并没有在内存中为其分配空间,仅仅定义了数据的组织形式,创立了一种数据类型,是对数据的一种抽象。只有定义了结构体类型的变量后,才会在内存中为该变量分配空间。在为结构体变量分配存储空间时,每个结构体变量所占存储空间的大小为其成员所占存储空间的总和。82.结构体

8、定义与初始化结构体在定义后,就可以同其他数据类型一样,来定义该类型的结构体变量。例如:structstudents;/*定义student类型结构体变量s*/structstudent*p;/*定义student类型结构体指针变量p*/structgz*p;/*定义gz类型结构体指针变量p*/定义时,structstudent为一个整体,表示一个结构体类型student,不能缺省前面的

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

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

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