fortran程序设计第7章 属性的声明

fortran程序设计第7章 属性的声明

ID:9971277

大小:338.50 KB

页数:40页

时间:2018-05-17

fortran程序设计第7章 属性的声明_第1页
fortran程序设计第7章 属性的声明_第2页
fortran程序设计第7章 属性的声明_第3页
fortran程序设计第7章 属性的声明_第4页
fortran程序设计第7章 属性的声明_第5页
资源描述:

《fortran程序设计第7章 属性的声明》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第7章 属性的声明最后,对于数据我们剩下的工作,就是如何运用FROTRAN语言来完整地加以描述。FORTRAN语言完成对数据的描述的语法单位是数据声明语句,在前面2章里面,我们整理好问题当中需要涉及的数据及其结构之后,要以FORTRAN语言写下来,就是使用FORTRAN的声明语句,这些语句的句法设计保证能够完备的描述我们关于数据所需要说明的一切属性。数据对象首先需要予以说明的当然就是它的类型,因此我们首先给出对象的类型声明语句,特别地,需要说明在最初FORTRAN标准里面遗留下来的一种数据类型描述方法——隐式类型描

2、述法,然后讨论各种数据对象所可能具有的属性。●数组属性;●指针属性;●值特征;●对象可访问性与使用属性;●特征兼容性;●自动数据对象;●存储关联。由于本章集中讨论FORTRAN的声明语句,而声明的对象除了数据之外,其他的程序对象,例如函数,过程等也需要声明其类型或属性,因此本章一并讨论对其他程序对象的声明:●过程属性;●NAMELIST语句;7.1 属性及其声明方式所谓一个对象的属性,就是程序使用该对象的方式。本章所讨论的属性的大体分类与作为其名称的关键词见表7-1: 表7-1属性的分类及其关键词数据类型 INTE

3、GER     REAL(以及DOUBLEPRECISION)     COMPLEX     LOGICAL     CHARACTER     TYPE(派生类型的名称由用户命名)数组属性 DIMENSION     ALLOCATABLE指针属性 POINTER         TARGET值设置   DATA     PARAMETER对象可访问性与调用         PUBLIC         PRIVATE         INTENT         OPTIONAL         SAVE过程

4、属性 EXTERNAL     INTRINSIC对象关系属性               NAMELIST         EQUIVALENCE         COMMON  这些关键词的使用,或者说属性的声明有2种方式:●   在类型声明时附加属性说明,这种语句形式侧重在给出数据对象,属性说明是附加的;●   使用单独的属性声明语句,这种语句形式侧重在说明属性本身。之所以会出现2种声明方式,完全是历史的缘故。FORTRAN的早期版本里,任何的对象属性说明,都是运用单独的属性声明语句,如果一个数据对象同时具有

5、多种属性,就需要使用相应的多个属性声明语句,从程序阅读的角度来看,会显得很烦琐,因此到了FORTRAN90和95版本,只要在程序单元当中需要声明一个数据对象的类型,那么就可以把它的其他所有属性都附加到它的类型声明语句当中,使得程序显得更加紧凑。【例7-1】我们要定义2个实型变量X,Y,同时还要声明它们都具有指针属性,在早期FORTRAN语言里写为:   REALX,Y   POINTERX,Y换一种更加紧凑的写法就是把这2条语句写为1句:   REALPOINTER::X,Y之所以我们还需要讨论单独的属性语句,主要

6、是有时候需要保持源码的向前兼容性,而且在少数情况下,这2种形式也并完全等价。因此在本章在讨论各种属性的声明方式的时候,将首先给出面向数据对象的声明方式,然后给出等价的面向属性的声明方式。在这2种表示属性的方式里,同样由于历史的缘故,数组的维度属性DIMENSION既可以附加在类型声明语句当中表述,也可以单独声明,实际上DIMENSION这个关键词属于老式FORTRAN的遗留物,在新的表述方式里面,完全可以省略它。【例7-2】   COMPLEXX   DIMENSIONX(35)   SAVEX    COMPLE

7、XX(35)   SAVEX    COMPLEX,DIMENSION(35),SAVE::X    COMPLEX,SAVE::X(35)以上4种表述方式是完全等价的,显然最后一种最简洁。在一个程序单元里面,引用一个数据对象的前提是已经声明了它的种种必需属性,数据对象的各种属性里面,最为基本的当然是数据对象的类型,然后还需要声明其各种必需的属性,这样该数据对象才能被程序正确地调用访问。然而在一个实际的程序里面,数据对象的声明在表面上可能并不是完备的,同时又不是非法的语法,出现这种情况的原因如下:●   在FORT

8、RAN的早期版本里,为了求简化的缘故,使用了一种隐式约定数据类型的方式,即通过数据对象的名称的第一个字母来分辨其所属类型,这种类型声明方式被后来的FORTRAN版本一直沿用下来了,因此如果一个程序单元里出现的数据对象没有经过类型声明语句的专门声明,则需要考虑其是否属于隐式声明。相反,如果想排除这种隐式声明的影响,则需要另外单独加以IMPLICITNONE语句

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

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

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