网站大量收购独家精品文档,联系QQ:2885784924

叶6(结构、指针、文件)精要.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
叶6(结构、指针、文件)精要

第6章 数据的组织结构(二) 例1:通过键盘输入30名学生的基本信息,并显示输出。然后,再通过键盘输入一个月份和日期,查找并输出本年度在这个给定日期之后过生日的学生信息。 为了表示一名学生的基本信息,应该声明一个包括学号、姓名、出生日期、所属院系、所学专业的结构体类型。 “出生日期”需要用三个数据项才能够表示完整,而“日期”是一个独立的概念,也应该为之声明一个结构体类型。 组织30名学生的信息。30名学生的基本信息属于同一个性质的数据,因此,应该利用一维数组将它们组织在一起。 算法描述 例2:假设通过键盘输入一个含有10个整数的数列。请编写一个程序,将10个整数按照从小到大的顺序重新排列,要求输出排序后的结果以及每个整数在排序前的位置。 排序是一种基本且应用广泛的操作。在前面的实例中,我们已经看到过排序操作的实现方法。然而,这个题目不仅要求输出排序之后的结果,还要求输出每个数据在排序前的位置。解决这个问题的一种方法是:将原始位置作为每个数据的属性保留起来,并借助于结构类型DATATYPE将每个数值data及位置pos绑定在一起,形成描述每个数据的整体信息。如果在排序过程中,需要交换两个数据的位置,可以将两个数据对应的结构型变量整体相互交换,以便实现每个数据的原始位置信息永远跟随数值一同移动的目的。 在这个程序中,定义了三个函数inputValue( )、outputValue( )和selectSort( ),分别用于完成输入、输出和查找的操作。 程序代码 例3:编写一个程序,模拟发扑克牌的过程。 问题分析 1、每张扑克牌有两个属性:一个是花色;一个是面值,因此,可以定义一个用于描述一张扑克牌的结构类型。 typedef struct{ int rank; /* 面值 */ int suit; /* 花色 */ } CARD; 其中,rank表示扑克牌的面值,它应该是1~13之间的整数;suit表示扑克牌的花色,它应该是1~5之间的整数,用1~4表示花色,用5表示大小王。 为了增加程序的可读性,可以声明下面这样一组宏定义: #define King 5 /* 王 */ #define Spade 4 /* 黑桃 */ #define Hearts 3 /* 红桃 */ #define Diamonds 2 /* 方块 */ #define Club 1 /* 梅花 */ 2、一副扑克牌有54张扑克,它们属于相同的性质,因此可以采用一维数组类型将54张牌的信息组织起来。 算法描述 程序代码 作业 P227 4,5 P231 1 * * 6.3 文件 6.2 指针类型 6.1 结构体类型 6.4 联合体与枚举类型 6.1 结构体类型 6.1.1 结构体类型的概念 将若干个不同数据类型的变量组合在一起的复合型数据类型 1. 结构体类型的声明 格式:struct 结构体类型名{ 数据类型 成员1; 数据类型 成员2; ...... 数据类型n 成员n; }; 组成结构体的每个数据称为该结构体的成员。 例如:用于描述坐标点的结构体类型的声明 struct point_type{ int x; /*x坐标*/ int y; /*y坐标*/ }; 例如:用于描述日期的结构体类型的声明 struct date_type{ int year; /*年*/ int month; /*月*/ int day; /*日*/ }; 结构体名 结构体类型的定义仅仅是定义了一种特定的数据构造类型,它制定了这种构造使用内存的模式。并不引起系统为该结构体分配内存空间。 year month day 2字节 2字节 2字节 2 结构体类型变量的定义 先声明结构体类型再定义变量名 结构体类型名 变量名 struct point_type p1, p2; 结构体类型名 结构体类型变量的定义会引起系统按照结构体定义时制定的内存模式,为被说明的结构体类型变量分配一定的内存空间。 结构体变量名 struct 结构体名 结构体变量名 在声明类型的同时定义变量 例如:struct point_type { int x; int y; } p1,p2 ; 结构体的成员也可以是另一个结构体的变量(结构体嵌套) struct rectangle_type{ struct

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档