- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FORTRAN90程序设计教程 第9章 派生类数据类型与结构体
FORTRAN90在这方面有较大的改进,主要是允许字定义派生类数据类型(简称派生类型),有了它,就能较容易地描述上述问题。 派生数据类型定义的一般格式为: TYPE[,ACCESS[::] ]派生类名字 分量表 END TYPE 派生类名 说明 1.TYPE为关键字,是每定义一个派生类型的起点。 2.ACCESS是可供选择的访问方式说明,分PRIVATE(私有的)和PUBLIC(公共的)两种,例如:REAL,PRIVATE::X1,X2该语句定义了两个实型的私有派生类变量X1、X2。注意声明为PRIVATE时,外部模块不能访问它;声明为PUBLIC属性的实体,在其程序单位中用了USE语句就可以使用;默认方式为公共访问方式。“::”为作用域符。 3.派生类名为一个标识符,用户可以用任意标示符命名。 4.分量表可以是各种类型的数据,并且可以是多项,每项前面必须加上类型说明。 5.END TYPE 派生类名为派生类定义结束的标志。 下面看一个具体实例: TYPE STUDENT CHARACTER (15)NAME INTEGER NUM LOGICAL SEX CHARACTER (30)ADDRESS END TYPE 其中STUDENT为派生类名。该派生类包含一个最多可存放15个字符的字符数组NAME、一个整型的变量NUM、一个逻辑类型变量SEX、一个最多可存放30个字符的字符数组ADDRESS,由于该派生类访问方式已经省略,因此,按照默认访问方式:公共访问方式对其进行访问。 9.2 结构体的定义与引用 有时我们需要将不同类型的数据结合成一个统一的整体,以便于引用。本节介绍派生类型中一种较简单的数据类型:结构体,它是由若干个相互之间有联系的数据项构成的。 9.2.1结构体类型定义 结构体类型定义的一般形式为: TYPE(派生类型名)::结构体名。 例如第一节,定义学生派生类后,就可以用它来定义结构体变量 TYPE (STUDENT)::S1,S2 该语句定义了两个结构体变量S1和S2,它们都包含STUDENT的所有成员:NAME、NUM、SEX、ADDRESS等5项。 结构体既可以在程序中定义,也可以和其他内部数据类型一样放在另一个派生类型的定义中定义,即所谓嵌套定义。例如 TYPE STUDENTRECORD CHARACTER (15)NAME INTEGER NUM LOGICAL SEX CHARACTER (30)ADDRESS END TYPE TYPE STUDENTTOGETHER TYPE (STUDENTRECORD)::STUDENT REAL MATH REAL ENGLISH REAL CHINESE END TYPE 其中,先定义STUDENTRECORD结构体,再把 TYPE (STUDENTRECORD)::STUDENT语句放在结构体定义语句TYPE STUDENTTOGETHER之内,这样构成嵌套定义,即用一个结构体作为另外一个结构体的成员。 这时,如果定义如下结构体: TYPE (STUDENTTOGETHER)::S 这样,结构体变量S包含:三个实型变量MATH、ENGLISH、CHINESE和一个结构体变量STUDENT,而STUDENT又包含NAME、NUM、SEX、ADDRESS四个成员。 9.2.2结构体成员的引用 结构体成员的引用有两种方式: 1.结构体名 % 成员表 2.结构体名 . 成员表 例如对上面定义个S1,S2两个结构体变量,成员的引用如下: S1. NAME、S1.NUM、S1. SEX、S1.ADDRESS S2%NAME、S2%NUM、S2% SEX、S2%ADDRESS。 注意: (1)两种引用方式可以交叉使用,但为了清晰起见,在一个程序中最好使用一种。 (2)在含嵌套定义的结构体中,成员引用应当嵌套使用“%”或“.”,例如,对上面结构体S中成员NUM的引用方式为S%STUDENT% NUM。 9.3结构体的初始化 9.3.1 利用赋值语句给结构体成员赋值 下面看一个完整的例子: 例9.1 某单位职工工资表包含的记录有:姓名、性别、家庭住址、工资等项,现计算三个职工工资的平均值。程序如下: TYPE CLERK CHARACTER (15)NAME LOGICAL SEX CHARACTER (30)ADDRESS INTEGER SAL END TYPE TYPE (CLERK)::S1,S2,S3 S1.SAL=800 S2%SAL=900 S3.SAL=700 AVER=(S1%SAL+S2.SAL+S3.SAL)/3 PRINT*,三个职工的平均工资为:,A
您可能关注的文档
最近下载
- CTD格式申报资料(原料药)新.pdf VIP
- 六年级下册数学作业第五单元数学广角第1课时鸽巢问题人教版.pptx VIP
- 华荣科技 最新版本的QJZ6磁力说明书 (1).doc VIP
- 2023年江苏省公考《申论》真题(B类)及参考答案.docx VIP
- 领导干部个人有关事项报告表(2017版).doc VIP
- 六年级 数学 下册 第五单元 数学广角——鸽巢问题《第1课时 鸽巢问题(1)》作业课件.pptx VIP
- 项目集成管理中级笔记.pdf VIP
- 心血管疾病诊断及临床合理用药答案-2024年山西省执业药师继续教育.docx VIP
- EBZ-318综掘机图册说明书.pdf VIP
- 直肠癌教学护理查房张梅.ppt VIP
原创力文档


文档评论(0)