Fortran程序设计第4节 FORTRAN 95语言的形貌

上传人:枫** 文档编号:478677535 上传时间:2022-12-06 格式:DOCX 页数:19 大小:41.24KB
返回 下载 相关 举报
Fortran程序设计第4节 FORTRAN 95语言的形貌_第1页
第1页 / 共19页
Fortran程序设计第4节 FORTRAN 95语言的形貌_第2页
第2页 / 共19页
Fortran程序设计第4节 FORTRAN 95语言的形貌_第3页
第3页 / 共19页
Fortran程序设计第4节 FORTRAN 95语言的形貌_第4页
第4页 / 共19页
Fortran程序设计第4节 FORTRAN 95语言的形貌_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《Fortran程序设计第4节 FORTRAN 95语言的形貌》由会员分享,可在线阅读,更多相关《Fortran程序设计第4节 FORTRAN 95语言的形貌(19页珍藏版)》请在金锄头文库上搜索。

1、第2篇. 计算的叙述算法的每一个步骤,都必须给予确切的定义。对于算法当中所 考虑的每一种情况,每一个有待执行的动作,都必须严格地和 不含混地加以规定。对于以描述算法作为目的而设计出来 的,采用了形式的定义的程序设计语言,或者说计算机语言, 它的每一个语句都必须有非常确切的意义。D.E.Knuth1The Art of Computer Programming本质上 FORTRAN 就是一门语言,一门人与计算机赖以进行有效交流的语言,在这个 意义上和我们使用的中文,英文等没有本质差别。现在假设要来描述一种大家都陌生的语言, 那么总是要分成两个方面来描述,即一方面要描述这门语言的表象和形态,也就是

2、它使用哪 些符号,哪些词汇,一般的句式如何,怎样才能完整叙述一个任务之类;另一方面需要说明 这门语言的语义,也就是说这门语言是如何用来表达我们需要它表达的意思的。第4章基本上就是描述FORTRAN作为一种语言的基本形态,也就是书写这种语言的 书写规则。接下来几章则逐步说明如何用 FORTRAN 来表达我们的要求,或者反过来说,FORTRAN提供了些什么表达方式,以便我们用来向计算机提出合理的任务: 表达基本数据; 表达数据的结构; 完整地描述数据; 构造表达式; 驱动计算的赋值; 计算过程的结构控制;在整个第二篇,我们将领略到FORTRAN 95是如何能够做到精致地描述计算的,而把一个问题阐述

3、清楚了,就意味着问题已经解决了一大半。IDonald E Knuth (高纳德),Stanford University 的 The Art of Computer Programming 荣休教扌授而 The Art of Computer Programming (计算机程序设计技巧)正是他的伟大著作的名称。洋洋七大卷的The Art of Computer Programming是当今全世界每一个计算机科学家所膜拜的圣经。1974年在该书刚完成前面很少 一部分时,就给他带来了计算机科学家们梦寐以求的图灵奖。第4章FORTRAN 95语言的形貌要说明一门语言的形态,必须回答以下问题: 它使

4、用哪些符号来表达信息? 它的词汇如何构成? 它的语句如何构成? 如何表达一个完整的任务?具体的对于一门计算机语言,把这几个问题更加明确地转换过来,就是: 它使用键盘上的哪些符号,各个符号有哪些用途? 它的词汇如何由键盘字符构成?含有哪些固定的词汇?以及容许自由构成合法词汇 的规则是什么? 它具有哪些固定的语句格式?以及容许自由构成合法语句的规则是什么? 我们交待给计算机的任何任务,都必须明确说明任务的开始,执行步骤和完成,因 此一段完整的源代码应该具备什么样的形式?以及应该具备哪些要素?本章就是要回答这些问题。4.1 FORTRAN 语言所使用的字符从最抽象的层面来看,人与计算机的交流只是信息

5、的交流,而信息总是需要依靠某种信 号来表示,对于人来说,最方便的就是字符。而对于计算机来说,自然就是键盘所能敲出的 那些字符(信号),因此下面就是要说明: FORTRAN 95 能识别键盘上敲出的哪些字符? 每个字符对于 FORTRAN 95 来说又意味着什么?4.1.1 FORTRAN 95所使用的基本字符按照FORTRAN 95标准的规定,一切FORTRAN 95的实现平台都必须使用下面表4-1所列出来的这个基本的字符集,或者说,这个字符集是所有遵循FORTRAN 95标准的编译 器所使用的字符集的公共子集。这样原则上,局限在这个字符集上的源码是能够被任何遵循 FORTRAN 95标准的编

6、译器所识别的。表4-1基本的FORTRAN 95字符集:文字字符英文字母 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 数字 0 1 2 3 4 5 6 7 8 9下划线特殊字符图形名称图形名称空格:冒号=等号!叹号十加号”引号一减号%百分号*星号&英语的and/斜线: 分号(左括号小于)右活号大于,逗号?问号.小数点或句号$货币符号撇号可以看到基本字符分为两大类:文字字符和特殊字符。除了货币符号可以本地化之外,其他任何字符都必须依照表里的形式。 对于基本字符有如下几个问题需要予以注意。一. 文字字符的用处: 主要是命名的作用,可以用来

7、命名语言中的一切对象,这三种符号可以混合使用; 其中数字还具有它本来的含义,就是表示数目。二. 特殊字符的用处:特殊字符主要具有功能的意义,如编辑功能,运算功能,语法功能等。FORTRAN 95标准原则上接受小写字母。因此除了以下位置,大小写是等价的。三. 大小写必须区分的位置: 作为字符常量的字符串里面; 输入输出的纪录里面; 作为编辑描述符的引号或撇号里面。 因为在上述几种情形,大小写是字符型数据的不同数据取值。如果不幸遇到一个FORTRAN 95标准的怪异的编译平台,偏偏不接受小写字母,这是 FORTRAN 95标准所许可的,这时就得小心了。不过幸好我们常用的编译平台,例如CVF, 都是

8、接受小写字母的。另外,在OPEN或者INQUIRE语句里面的FILE=或NAME=后面是否区分大小写,也 是由编译平台指定的。如果是需要调用其他语言写的子程序,而恰好该种语言(例如C语言)是区分大小写的, 这时就需要特别小心。【例4-1】如果用C写了两个子程序EIGEN和eigen,然后有如下的FROTRAN片断:EXTERNAL EIGENCALL EIGENEND这时它是该引用EIGEN还是eigen呢?如果所使用的FROTRAN系统正好是怪异的那 种,没问题。如果是常见的如CVF,这时它就无法区分EIGEN和eigen,这样就必须给它 们更换名称了。四. 数字的涵义:除了以下情形,数字总

9、是表示十进位数字 属于二进制,八进制,十六进制的字面常量; 带有 B,O,Z 编辑描述符的输入输出纪录。【例 4-2】 以下语句当中的数字不是属于十进位数字:DATA I, J, K / O1001, 23.54, Z5CA2 /其中第一个为八进制数,第二个为十进制数,第三个为十六进制数。五. 下划线的涵义: 下划线的主要作用就是置于单词之间代替空格,使得我们在命名时使用清楚的英语 词汇。 下划线不能置于任意名称的前面,但是可以置于名称的最后。 下划线也用于在字面常量中区隔常量的值和种别参数。 无论给什么对象起名,都尽量使用完整的英语单词,同时使用下划线以区隔不同的单词。所谓好记性不如烂笔头,

10、只有这样才能切实保证你在任何时候,在程序代码的任意位置都知 道任意变量等的含义。4.1.2与平台有关的FORTRAN辅助字符集上节列出的基本字符集是在一切FROTRAN的编译平台都可以使用的,被FORTRAN 95 标准规定为必须使用的默认字符集。另外还有些辅助的字符则是不同的平台有不同的用法约 定。辅助字符分两类:可打印字符和不可打印字符。 可打印字符; 各种本地化语言的字符,象汉字,希腊字母等,都可以应用在字符串,注释,和输入输出纪录当中。 不可打印字符。主要就是控制字符,例如制表符Tab键。制表符(Tab键)在FORTRAN77标准当中主要用来表示6个空格,这样在固定源程序形 式的代码的

11、每行的开头使用Tab,就自动地空出6个空格。对于一个FORTRAN77标准的编译系统来说,在固定源程序形式里的Tab被看成是至 少6个空格,而在自由源程序形式里的Tab被看成1个空格。这样如果Tab被放在文本当 中用于输出格式控制,那么这种默认的转换方式,有时就会导致输出格式的混乱。有关FORTRAN 95的辅助字符集的使用规则,请参考具体的编译系统的说明。4.2 词汇所谓FORTRAN的词汇就是一个语句的最小的意义单位,它由一个或多个FORTRAN 字符集里的字符组成。包括两类共6种,分类例举如下: 由文字字符组成的词汇,包括4 种:语句关键词:IMPLICIT名称:EIGEN_FREQUE

12、NCY_3 由单个词汇组成的字面常量: 1.234567_long 标识符: 213 由特殊字符组成的 算符: +, .OR. 定界符:逗号, =, =,:,:,;, %。FORTRAN 95的一切合法的词汇都必须按照语法来构成。完备的构词语法规则在附录B 给出。下面分别予以详细说明。1. 语句关键词语句关键词的功用: 标志语句本身。【例4-3】下面的DO语句中的关键词DO本身标志了该语句DO I=1,500 标志选项。【例4-4】 下面的INTENT语句当中的INQUT,或INOUT。INTENT(IN), Ao BINTENT(INOUT),X,Y,Z用在语句当中,起分界的作用。【例 4-

13、5】 如下面 DO 语句当中的 WHILEDO WHILE( .NOT. VECTOR )并非所有的语句都必须包含关键词,在 FORTRAN 里面,赋值语句和函数都不需要关键词。尽管FORTRAN 95不区分大小写,本书任何地方出现的语句关键词都使用大写字母。 纯粹是为了醒目的原因。2.名称在一个程序当中,任何对象都需要有一个名称,给它们命名所得到的词汇,可以说就是 一般语言里的名词,这样的对象包括:变量,命名常量,程序单元,过程,公用块,构造 派生类型,哑元等。名称的拼写规则为: 名称必须由字母开头,可以由文字字符混合组成,而下划线不能作为名称的第一个 字符。 一个名称至多允许含有 31 个

14、字符。3. 常量一个常量就是对一个值的合乎语法的字符标记。常量分为字面常量和命名常量两种: 一个值如果没有在程序里面经过命名,则称为字面常量,这种常量不能取派生数据 类型。【例 4-6】66953Z5120A2.3417.TRUE.(33.2, 5.0) 一个值如果在程序里面经过命名,则称为命名常量,这种常量能取派生数据类型。【例4-7】 在如下声明语句当中的常量UNSTABLE_POINT为命名常量:REAL, DIMENSION(3), PARAMETER :UNSTABLE_POINT =&(/5.332, 0.221, 190.632/)对于常量的语义,将在说明数据时进一步讨论。4.

15、语句标签在一个程序单元内部,对任何一条语句,都可以在该语句的前面加上语句标签,以便在 该程序单元内部的任何其他位置引用该语句。需要引用其他语句的语句包括CALL语句, DO 结构,分支语句,输入输出语句等。语句标签的书写规则为: 语句标签由1到5个十进制数字组成,其中必须至少有一个数字不能是0,例如000 不能作为标识符; 标识符以0开头是没有任何意义的,例如0034与34没有区别。 标识符不能放置于空语句之前。【例 4-8】上面的语句只出现了一个语句标签,是不合法的。 对于在一个程序单元内部,标识符不唯一出现的情形,具有特殊的含义,将在后面 讨论。5. 算符算符用在表达式当中,通过运算而获得某种类型的值。算符分为固有算符和自定义算符两类: 固有算符在FORTRAN 95语法当中,R310规定了固有算符的构成法则。【例 4-9】/表示字符串的连接+ 表示对数值

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

当前位置:首页 > 学术论文 > 其它学术论文

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