当前位置:首页 >> 初中教育 >>

第2章 Fortran语法基础


第2章 Fortran语法基础
? Fortran从诞生至今,已经走过了长达50余年的发 展历程中。在这一发展历程中,相关的语言标准 先后制定了5部。具体的语法也随着标准的变更而 变化着。在每一个新标准中,前一个标准中的一 些旧语句、语法或是被废弃、或是建议减少使用, 如Fortran 90标准中就建议减少使用“COMMON” 语句;或者新增了一些新的语句,如Fortr

an 95 标准中的“FORALL”语句。本章将主要介绍 Fortran的基本语法。

2.1 程序书写格式
? 在1.6小节中,程序HELLO已经展示了Fortran的一 种源代码书写格式,即自由格式(Free Format), 这种格式是Fortran 90/95标准中的一大特色。同 Fortran 77标准中的旧格式,即固定格式(Fixed Format)相比,取消了在源代码书写上的诸多限 制,程序编制起来更为灵活。两种格式书写的源 代码通过文件扩展名来进行区别。

2.1.1 固定格式(Fixed Format)
? 采用固定格式书写的Fortran源代码,文件扩展名 为*.F或*.FOR。在固定格式中,Fortran标准规定 了若干个列范围。每一个列范围都有自己的用途 和约定,程序必须严格按照这些约定进行编写。

2.1.2 自由格式(Free Format)
? 采用自由格式书写的Fortran源代码,文件扩展名为*.F90。自由格式是Fortran 90标 准中的一大特色,废除了固定格式中的许多限制。它并不规定程序代码中每一行第几 列字符的具体作用,在源代码的编写上显得相当自由。同固定格式相比,自由格式主 要在以下几个方面进行了改进。 行的定义。在自由格式中每行可以书写132个字符。程序语句的位置没有了只能从第7 列后开始书写的固定约定,可以在任意一列开始书写。同一行中可以顺序书写多条程 序语句,语句之间用分号“;”进行分隔。 注释行的定义。在自由格式中,惊叹号“!”后的字符均被视为注释。但是,字符串 中的“!”出外,如“PRINT *, ‘Hello! Fortran 90/95’”中,“Fortran 90/95’”不会被认为是注释。 续行的定义。在Fortran 90/95标准中规定,当程序代码中的一行超过132个字符时, 至多可以有39个续行。续行标志固定为“&”。当一行代码的最后一个字符为“&”时, 则表示下一行与本行接续;当一行代码的第一个字符为“&”时,则表示本行与上一 行接续。 行号的定义。在Fortran 90/95标准中规定,行号只需写在代码行的最前面即可。 空格的应用。Fortran 90/95标准中规定,语句和变量名中间不能有空格。例如,关 系运算符“==”不能写成“= =”;“ABS(-2.0)”与“AB□S(-□2.0)”作用不再相 同,“AB□S(-□2.0)”不能正常通过编译。

?

?

?

? ?

2.1.3 兼顾两种格式的代码写法
? 由于现存大量旧的Fortran代码(Fortran 77程序)都是采用固定 格式编写的,在一些编译器上可能会由于格式的问题而出现编译 错误。因此,有必要提供一种能够兼顾两种格式的代码写法,以 便于将固定格式的代码转换为符合自由格式要求的代码。能够兼 顾两种格式的代码在书写时需要注意的要点有以下几条: 开始列。除注释行外的每一行代码只能从第7列开始编写。这主要 是由于自由格式中并没有规定代码编写的起始列,因此可以套用 固定格式的规定。 注释行。标明注释行的符号只能用感叹号“!”,并且应该写在第 一列。注释行必须单独占一行,不能出现其他语句的行尾。 续行方式。续行标志只能使用符号“&”。在接续的两行中,前一 行应该在72列后、132列前添加续行标志;后一行则应该在第6列 书写续行标志。 空格使用。在Fortran 90/95标准中,语句和变量中间不允许出现 空格。因此,兼顾两种格式的源代码中也不允许在语句和变量中 出现空格。

?

? ?

?

2.2 字符集
? “字符集”是指能够用于编写Fortran程序的所有字符及符号。不 是所有的外文字母或数字符号都能被某一高级计算机语言接受, 每一种高级计算机语言都会规定它所能使用的字符。Fortran中允 许使用的基本字符主要分为两大类:文字字符和特殊字符。文字 字符主要包括26个英文字母、10个自然数字和下划线。如表所示。

2.3 空格的使用
? 在Fortran 90/95标准中,空格不能出现在语句和变量名中间;除 了在字符串常量或是输入输出中外,不代表任何具体意义。其主 要作用是分隔语句和变量,使代码更为易读。在国外的一些科学 研究和工程设计机构,如美国航空航天局(NASA)等,在开发科 学计算程序时对空格的使用有一些很好的规定。 在程序中要确保不在Fortran定义的语句或变量名中出现空格,不 要尝试通过空格来对变量名进行区别; 在编写公式时,尽量通过空格来使公式的书写和阅读更为清晰易 懂; 在编写大段代码时,可以使用整行的空格来对代码段进行功能划 分。 建议在编写程序时,尽量遵守这些规定。下面来看一段使用空格 来确分四则运算的实例,先给出不使用空格进行区分的范例: Y=X+A*B/C-(0.5+C*D)**2

? ? ? ? ?

2.4 注释格式
? 尽管注释在编译过程中是一定会被编译器忽略的,但却是 源代码文件中十分重要的一部分。因为注释是保证源代码 具有可读性的一个非常重要的手段。在不同的高级计算机 语言中,表示注释的方法各有不同,甚至在一种语言里, 也可能有几种引入注释的方法。不同的注释方法各有优缺 点,在使用中应该根据实际情况进行选择。 ? 在C语言程序中,需要使用“/*”和“*/”这样的特殊标 记来界定注释的内容而不管行边界。采用这种方式进行注 释时经常出现的错误就是漏掉结束的界定符,使得后面的 语句也变成了注解;好处也很明显,就是能够方便的实现 代码的块注释。 ? 而Fortran 95语言中的“!”,Ada语言中的“-”,或是 C++语言中的“//”,注释都是在行的任意位置开始直到行 的末尾结束。这种做法更为合理、不容易出错,但要实现 大段代码的整体注释就不是特别方便了。

2.5 命名方式
? 在Fortran中为对象命名有一定的要求。简单的说, Fortran 77的命名要求和Fortran 90/95的命名要求是不同 的。本节主要介绍不同标准下的命名方式。 ? 在Fortran 77标准中,程序和变量等对象的名字是由不多 于6个字符(包括英文字母A-Z、a-z和数字0-9)组成的字 符段。同时,对象名字的第1个字符必须是字母,名字的有 效使用范围原则上仅限于一个程序单元之中(内部过程除 外)。下面的代码段演示了Fortran 77标准的对象命名方 式。 ? INTEGER 0B !错误 ? INTEGER C-10 !错误 ? REAL sin !正确 ? REAL test:real !错误

2.6 程序单元和语句顺序
? 程序单元是程序中的基本组成部分,了解程序单 元的用途可以加深对计算机程序的理解。本节主 要介绍Fortran程序中的程序单元和句顺序的基本 概念及相关规定。Fortran中的程序单元分为两大 类:可执行程序单元和不可执行程序单元。 ? 可执行程序单元,在程序中主要用来执行一个完 整的功能。可执行程序单元主要包括以下三种: 主程序单元、外部函数子程序单元和外部子例行 子程序单元。 ? 不可执行程序单位,在程序中主要用来为其他程 序单元提供定义。不可执行程序单元有两种:模 块程序单元和数据块程序单元。


相关文章:
fortran语法手册
fortran语法手册_计算机软件及应用_IT/计算机_专业资料。fortran77语法指导手册 !...第2章 Fortran语法基础 10页 免费 SQL语法手册 17页 免费 SQL 语法手册 28页...
fortran语法
第2章 Fortran语法基础 10页 免费 fortran语言语法 17页 免费 第2章 FORTRAN语法基础 10页 免费 第2章 Fortran语法基础 11页 20财富值 Fortran语法 暂无评价 15...
南京大学计算机基础第2次作业
南京大学计算机基础第2次作业_教育学_高等教育_教育专区。作业答案作业名称:...A、FORTRAN B、 ALGOL C、C D、 JAVA 正确答案:D 题号:13 题型:单选题(...
fortran语言语法
fortran语言语法_IT/计算机_专业资料。fortran基本语法FORTRAN 是世界上最早出现...第二个*号是指表控格式语句的行号, 2 READ *,X1,X 2 FORMAT(格式 符) ...
北航程序设计语言原理教材第02章
北航程序设计语言原理教材第02章_工学_高等教育_教育...(2) 语义清晰(Semantic Clarity) 每个合乎语法的表达式...(Security) 述FORTRAN计算转语句,程序中规定了八个...
计算机前三章知识点汇总
一定的语法规则编写程序的语言, 其中比较具有代表性的高 级语言有 FORTRAN,C,...则该软盘的容量为2*40*8*512B=327680B 第二章操作系统基础 28、操作系统是...
Fortran语言基础
Fortran语言基础_IT/计算机_专业资料。山东建筑大学 ...2.3.1 整数类型(INTEGER) 整数类型( ) 语法:...还可以使用自定义类型,这部分将 在下面一章介绍。 ...
Fortran语法
Fortran语法_IT/计算机_专业资料。Fortran 语法(转载)2010-08-02 09:45 目录: 一、 说明、 概述 三、 数据类型及基本输入输出四、 流程控制 五、 循环 六...
编译原理习题答案
堆式存储 5、编译过程中,语法分析器的任务是( B)...的输出是 A、词法记号流 54、对一个基本块来说,...Fortran) 2、动态分配策略 2.1 栈式动态分配 2....
第一章java语言基础
(如 C/C++/FORTRAN 语言)实现的 new :用来创建新实例对象 package:包 Private...1/2 相关文档推荐 第一章JAVA基础语法第二... 暂无评价 29页 1下载券 第...
更多相关标签:
fortran语法 | fortran基本语法 | fortran语言常用语法 | fortran90 语法 | fortran语法手册 | fortran语言基础 | 电路基础 第2章王佳 | 英语语法基础入门 |