fortran数据共用存储单元和数据块子程序
- 格式:ppt
- 大小:179.00 KB
- 文档页数:7
FORTRAN是世界上最早出现的高级编程语言,是工程界最常用的编程语言,它在科学计算中(如航空航天、地质勘探、天气预报和建筑工程等领域)发挥着极其重要的作用。
经过40多年的发展,伴随着FORTRAN语言多次版本的更新及相应开发系统的出现,其功能不断完善,最新版本的开发系统几乎具备了VC、VB的所有特点,如图形界面编程、数据库等。
目前,工科院校开设的计算机编程语言课首选仍然是FORTRAN :<说实话,从科技发展的趋势来说这不是好事。
您可以设想一下,如果需要用鹅毛笔抄写大量的古籍是什么感受!强烈建议阅读《发掘C#特性赋予科学计算项目以威力》1 FORTRAN77四则运算符+ - * / ** (其中**表示乘方)在表达式中按优先级次序由低到高为: +或-→*或/→**→函数→()2 FORTRAN77变量类型隐含约定:I-N规则凡是以字母I,J,K,L,M,N六个字母开头的,即认为是整型变量,其它为实型变量。
用类型说明语句确定变量类型:可以改变I-N规则用IMPLICIT语句将某一字母开头的全部变量指定为所需类型如IMPLICIT REAL (I,J)三种定义的优先级别由低到高顺序为:I-N规则→IMPLICIT语句→类型说明语句,因此,在程序中IMPLICIT语句应放在类型说明语句之前。
数组的说明与使用使用I-N规则时用DIMENSION说明数组,也可在定义变量类型同时说明数组,说明格式为:数组名(下标下界,下标上界),也可省略下标下界,此时默认为1,例:DIMENSION IA(0:9),ND(80:99),W(3,2),NUM(-1:0),A(0:2,0:1,0:3)REAL IA(10),ND(80:99)使用隐含DO循环进行数组输入输出操作:例如WRITE(*,10) ('I=',I,'A=',A(I),I=1,10,2)10FORMAT(1X,5(A2,I2,1X,A2,I4))使用DATA语句给数组赋初值变量表中可出现变量名,数组名,数组元素名,隐含DO循环,但不许出现任何形式的表达式:例如DATA A,B,C/,,DATA A/,B/,C/DATA A,B,C/3*CHARACTER*6 CHN(10)DATA CHN/10*'?????'/INTEGER NUM(1000)DATA (NUM(I),I=1,500)/500*0/,(NUM(I),I=501,1000)/500*1/3 FORTRAN77程序书写规则·程序中的变量名,不分大小写;·变量名称是以字母开头再加上1到5位字母或数字构成,即变更名字串中只有前6位有效;·一行只能写一个语句;·程序的第一个语句固定为PROGRAM 程序名称字符串·某行的第1个字符至第5个字符位为标号区,只能书写语句标号或空着或注释内容;·某行的第1个字符为C或*号时,则表示该行为注释行,其后面的内容为注释内容;·某行的第6个字符位为非空格和非0字符时,则该行为上一行的续行,一个语句最多可有19个续行;·某行的第7至72字符位为语句区,语句区内可以任加空格以求美观;·某行的第73至80字符位为注释区,80字符位以后不能有内容。
1F O R T R A N77四则运算符+ - */ ** (其中**表示乘方)在表达式中按优先级次序由低到高为:+或-→*或/→**→函数→()2 FORTRAN77变量类型隐含约定:I-N规则凡是以字母I,J,K,L,M,N六个字母开头的,即认为是整型变量,其它为实型变量。
如IMPLICIT REAL (I,J)三种定义的优先级别由低到高顺序为:I-N规则→IMPLICIT语句→类型说明语句,因此,在程序中IMPLICIT语句应放在类型说明语句之前。
数组的说明与使用使用I-N规则时用DIMENSION说明数组,也可在定义变量类型同时说明数组,说明格式为:数组名(下标下界,下标上界),也可省略下标下界,此时默认为1,例:DIMENSION IA(0:9),ND(80:99),W(3,2),NUM(-1:0),A(0:2,0:1,0:3)REAL IA(10),ND(80:99)使用隐含DO循环进行数组输入输出操作:例如WRITE(*,10) ('I=',I,'A=',A(I),I=1,10,2)10FORMAT(1X,5(A2,I2,1X,A2,I4))使用DATA语句给数组赋初值变量表中可出现变量名,数组名,数组元素名,隐含DO循环,但不许出现任何形式的表达式:例如DATA A,B,C/,,DATA A/,B/,C/DATA A,B,C/3*CHARACTER*6 CHN(10)DATA CHN/10*''/INTEGER NUM(1000)DATA (NUM(I),I=1,500)/500*0/,(NUM(I),I=501,1000)/500*1/3 FORTRAN77程序书写规则程序中的变量名,不分大小写;变量名称是以字母开头再加上1到5位字母或数字构成,即变更名字串中只有前6位有效;一行只能写一个语句;程序的第一个语句固定为PROGRAM 程序名称字符串某行的第1个字符至第5个字符位为标号区,只能书写语句标号或空着或注释内容;某行的第1个字符为C或*号时,则表示该行为注释行,其后面的内容为注释内容;某行的第6个字符位为非空格和非0字符时,则该行为上一行的续行,一个语句最多可有19个续行;某行的第7至72字符位为语句区,语句区内可以任加空格以求美观;某行的第73至80字符位为注释区,80字符位以后不能有内容。
FORTRAN 心得第一部分:一些小心得1Fortran不区分大小写2 Fortran有5种基本数据类型,integer,real, character, logical, complex3 fortran fixed format格式中的变量赋初值一般用DATA,因为它不能用::4 real(kind=8) a这种格式只使用于Fortran90,Fortran77中要使用real*8或real(8)5 FORTRAN中FREE与FIXED两种格式do循环的区别:Fortran 95使用end do来结束循环。
Fortran 77使用DO循环要麻烦一点,它不使用END DO来结束循环,而是使用行号来结束循环,程序代码要在DO的后面写清楚这个循环到哪一行程序代码结束。
Fortran 77中,经常会使用CONTINUE这个命令来结束循环。
因为CONTINUE这个命令没有实际的用途,刚好可以拿来做封装使用。
6 循环的流程控制:循环中的cycle命令相当于c++里的continue命令,用于结束一次循环循环中的exit命令好比c里面的break,用于结束循环7 不使用do循环,单纯用GOTO语句也能设计循环程序,但不推荐使用GOTO语句7 fortran有等价声明:即用equivalence(a,b),这样使得a,b使用同一块内存,这样可以节省内存,有时可精简代码。
8 fortran77中只能用单引号。
(还有疑问,因为fixed format能用双引号)9 逻辑运算符== /= > >= < <= !Fortran90用法.EQ. .NE. .GT. GE. .LT. .LE. !Fortran77用法9 PAUSE,CONTINUE,STOPpause 暂停程序执行,按enter可继续执行continue 貌似没什么用处,可用作封装程序的标志STOP 命令用来结束程序,要谨慎使用10 数组元素之间要用逗号分隔,而不能像matlab一样既可以用逗号也可以用空格,fortran 的数组元素之间不能用空格。
fortran语言程序设计知识点Fortran语言是一种面向科学与工程计算的编程语言,因其在数值计算和科学应用方面的高效性而受到广泛使用。
本文将重点介绍Fortran语言程序设计的一些重要知识点。
一、基础语法1.1 变量与数据类型在Fortran中,变量是用于存储数据的容器。
常见的数据类型包括整型(INTEGER)、实型(REAL/DOUBLE PRECISION)、复数型(COMPLEX)、逻辑型(LOGICAL)等。
变量的命名需遵循一定规则,如以字母开头,长度不超过31个字符等。
1.2 运算符与表达式Fortran支持常见的算术运算符(如+、-、*、/)以及逻辑运算符(如. AND.、. OR.、. NOT.)等。
表达式由变量、常数和运算符组成,可以进行数值运算和逻辑判断。
1.3 控制结构Fortran提供循环结构(DO)、条件结构(IF-THEN-ELSE)和选择结构(SELECT CASE)等控制语句,用于控制程序的流程。
二、数组与数据处理2.1 数组定义与操作Fortran中数组是由相同类型的数据元素组成的集合。
可以使用DIMENSION语句定义数组的维度和大小,通过下标访问和修改数组元素。
2.2 数组运算与函数Fortran提供了许多对数组进行运算和处理的函数,如数组求和(SUM)、最大最小值(MAX、MIN)、数组重排(RESHAPE)等,方便对数据进行统计和处理。
2.3 文件读写操作Fortran支持对文件进行读写操作,可以通过OPEN语句打开文件,使用READ和WRITE语句读取和写入数据。
可以根据需要设置文件的访问模式和格式。
三、过程与模块3.1 过程(Subroutine/Function)过程是一段独立的代码块,可接受传入参数并返回值。
在Fortran中,过程可以是子程序(Subroutine)或函数(Function)。
子程序用于完成一系列操作,而函数则返回一个值。
3.2 模块(Module)Fortran中的模块是一个编译单元,用于组织和管理相关的过程和变量。
FORTRAN是世界上最早出现的高级编程语言,是工程界最常用的编程语言,它在科学计算中(如航空航天、地质勘探、天气预报和建筑工程等领域)发挥着极其重要的作用。
经过40多年的发展,伴随着FORTRAN语言多次版本的更新及相应开发系统的出现,其功能不断完善,最新版本的开发系统几乎具备了VC、VB的所有特点,如图形界面编程、数据库等。
目前,工科院校开设的计算机编程语言课首选仍然是FORTRAN :<说实话,从科技发展的趋势来说这不是好事。
您可以设想一下,如果需要用鹅毛笔抄写大量的古籍是什么感受!强烈建议阅读《》1 FORTRAN77四则运算符+ - * / ** (其中**表示乘方)在表达式中按优先级次序由低到高为:+或-→*或/→**→函数→()2 FORTRAN77变量类型2.1隐含约定:I-N规则凡是以字母I,J,K,L,M,N六个字母开头的,即认为是整型变量,其它为实型变量。
2.2用类型说明语句确定变量类型:可以改变I-N规则2.3用IMPLICIT语句将某一字母开头的全部变量指定为所需类型如IMPLICIT REAL (I,J)三种定义的优先级别由低到高顺序为:I-N规则→IMPLICIT语句→类型说明语句,因此,在程序中IMPLICIT语句应放在类型说明语句之前。
2.4数组的说明与使用使用I-N规则时用DIMENSION说明数组,也可在定义变量类型同时说明数组,说明格式为:数组名(下标下界,下标上界),也可省略下标下界,此时默认为1,例:DIMENSION IA(0:9),ND(80:99),W(3,2),NUM(-1:0),A(0:2,0:1,0:3) REAL IA(10),ND(80:99)使用隐含DO循环进行数组输入输出操作:例如WRITE(*,10) ('I=',I,'A=',A(I),I=1,10,2)10FORMAT(1X,5(A2,I2,1X,A2,I4))2.5使用DATA语句给数组赋初值变量表中可出现变量名,数组名,数组元素名,隐含DO循环,但不许出现任何形式的表达式:例如DATA A,B,C/-1.0,-1.0,-1.0/DATA A/-1.0/,B/-1.0/,C/-1.0/DATA A,B,C/3*-1.0/CHARACTER*6 CHN(10)DATA CHN/10*' '/INTEGER NUM(1000)DATA (NUM(I),I=1,500)/500*0/,(NUM(I),I=501,1000)/500*1/3 FORTRAN77程序书写规则•程序中的变量名,不分大小写;•变量名称是以字母开头再加上1到5位字母或数字构成,即变更名字串中只有前6位有效;•一行只能写一个语句;•程序的第一个语句固定为PROGRAM 程序名称字符串•某行的第1个字符至第5个字符位为标号区,只能书写语句标号或空着或注释内容;•某行的第1个字符为C或*号时,则表示该行为注释行,其后面的内容为注释内容;•某行的第6个字符位为非空格和非0字符时,则该行为上一行的续行,一个语句最多可有19个续行;•某行的第7至72字符位为语句区,语句区内可以任加空格以求美观;•某行的第73至80字符位为注释区,80字符位以后不能有内容。
《FORTRAN》程序设计原理1、程序结构及书写规则一个程序由不同的程序单元组成,每一程序单元均以end结束,一般情况下,主程序的结构为:Program程序单元名说明语句可执行语句……STOPEND子程序的结构为:SUBROUTINE 程序单元名(哑元名表)说明语句可执行语句………RETURNEND以及FUNCTION 程序单元名(哑元名表)说明语句可执行语句………RETURNEND程序单元名由字母和数字组成,各程序单元中的变量独立编译,同名变量相互不影响。
1-5列为行号,可以是1-99999之间的任意数,6列为续行号,可以是任何字符,正文从第8列写到72列。
当第1列为字符C时,此行为注释行。
2、说明语句说明语句分为二类,一类必须放在程序单元的开头,另一类可以放在任何地方。
2.1 变量说明语句这一类说明语句,必须放在程序单元的开头,以表明变量的性质。
若不加以说明,以I-N开头的变量均为整型,其余变量均为实型,称之为I-N规则。
同一变量经下列显式说明语句说明后,I-N规则失效,没有经显式说明的变量,I-N规则仍然有效。
PARAMETER(变量名=const,……)REAL 变量名表INTEGER变量名表CHARACTER变量名表LOGICAL变量名表COMPLEX 变量名表IMPLICIT 变量基本类型(字符名表)DOUBLE PRECISION变量名表DIMENSION变量名表COMMON 变量名表COMMON /公共区名/ 变量名表DATA 变量名表/数值名表/一个变量可由多个语句说明,其中类型说明语句的级别最高,例如:Implicit real (a-c,e) 由a,b,c,e开头的变量均为实型Dimension ax(100) 定义一个100个元系的实型数组Integer bx, ax 重新定义bx, ax为整型变量2.2 格式说明语句这一类语句可以放在程序单元内的任何地方,常用的有:FORMAT(nFw.d, nX, nAw, nIw, ‘…….’, \ ,nEw.d)这里,n是重复使用该格式码的次数,F表示实型,X表示空格,A表示字符,I表示整型,E科学记数法,w是输入/出的宽度,d是小数位数,引号‘’内的内容原样输出,斜线‘\’表示输入/出时换行。
fortran语言的基本概念Fortran语言的基本概念概述Fortran(Formula Translation)是一种用于科学计算和数值分析的高级编程语言。
它是最早的编程语言之一,由IBM公司在20世纪50年代开发。
Fortran语言以其高效、可靠和快速的特点,长期被广泛应用于科学和工程计算领域。
基本结构Fortran程序以程序单元作为基本的执行单位,程序单元分为主程序和子程序两种类型。
主程序•主程序是Fortran程序的入口点,每个Fortran程序必须包含一个主程序。
•主程序由PROGRAM关键字定义,后接程序名称。
•主程序内包含了程序的执行逻辑和控制流程,通过调用子程序完成具体的计算任务。
•子程序是主程序的辅助部分,用于定义重复使用的计算任务或功能模块。
•子程序由SUBROUTINE或FUNCTION关键字定义。
•SUBROUTINE用于定义过程(Procedure),只执行特定的计算任务,不返回结果。
•FUNCTION也是定义过程,但它还可以返回一个值作为结果。
变量与数据类型Fortran语言使用变量来存储和操作数据,变量需要先进行声明。
Fortran提供了多种数据类型,用于存储不同类型的数据。
声明变量•变量声明使用DIMENSION或INTEGER/REAL/COMPLEX/LOGICAL等关键字。
•变量声明语句通常出现在主程序的开头或子程序的参数列表中。
数据类型•INTEGER用于表示整数类型的数据。
•REAL用于表示浮点数类型的数据。
•COMPLEX用于表示复数类型的数据。
•LOGICAL用于表示逻辑类型的数据,可取值为TRUE或FALSE。
Fortran语言提供了多种控制流程语句,用于在程序中实现条件判断和循环操作。
条件判断•IF-THEN语句用于根据条件执行不同的代码块。
•IF-THEN-ELSE语句可根据条件选择执行不同的代码块。
循环•DO语句用于实现循环操作,可指定循环的起始值、结束值和步进值。
Fortran95关于共用区使用的小探讨文一猪在以往Fortran77,90的语言中采用共用区(对应着common 语句),对于大量数据的交换而言十分的方便。
例如:主程序:common //data1// x(ip)子程序(或函数)common //data1// x(ip)那么数据x(ip)就在主程序和子程序(或函数)内实现共享。
当共享数据需要被多个子程序调用,或者十分繁杂或是大量的情况下,这种方法相对于接口传值方式的优势就体现出来。
到了采用Fortran95语言时,这种方法仍然适用。
但是对于这种新版语言,通过利用module和subroutine有更好的选择。
若采用module编程,数据可以声明为public或者是private。
如果数据是private的话,该数据能够同所有的模块的内部子程序共享;同样的,主程序内的数据也是同其内部子程序共享的。
如果数据是public的话,那么数据将同主程序相共享。
其中很重要一个关键就是内部子程序,它能够调用到所属模块(或主程序)的数据。
而在旧版的Fortran语言中,没有所谓的内部子程序,就笔者所知道的。
共享数据只能通过传值方式或common共享。
例如:module a1public x1private x2containssubroutine b1调用x1,x2end subroutine b1end module a1programuse a1 //声明使用module a1调用x1end program从该例中,我们可以清楚得了解到Fortran95采用模块编程和运用内部子程序在实现数据共享方面相比旧版语言的优势。
顺便推荐下Fortran95的学习书《FORTRAN95程序设计》白云等编著。
2013, Feb, 22。
FORTRAN 95 语法基础目录:一、应用程序的创建与运行/FORTRAN 95所用的字符/ 变量类型及其声明,常量声明/表达式与运算符二、输入与输出:表控、有格式三、选择语句与结构:IF语句、CASE结构四、DO循环结构五、数组:数组的声明,数组的引用,数组的算术运算,数组的输入、输出,给数组赋初值,动态数组,WHERE、FORALL语句六、子程序:语句函数,内部子程序,调用子程序时的虚实结合:形参为数组、非定界数组、子程序名、星号,递归子程序,外部子程序,纯子程序,逐元子程序七、派生数据类型与结构体八、指针与动态链表九、文件:存取方式,基本操作语句,各类文件的读写操作十、接口、模块十一、公用区、存储关联、数据块子程序十二、绘图:坐标系、设置图形颜色、创建图形程序/ 常用过程:设置线型、绘一像素点、设置当前位置、绘直线、绘弧线、绘矩形、绘多边形、绘制扇形(圆、椭圆)/ 文字信息的显示附/录:标准函数与标准子例行程序一、基础部份1-1 FORTRAN 95 应用程序的创建与运行创建或运行FORTRAN 95程序必须在Microsoft Developer Studio平台上进行。
尽管程序文本及相关文件的编辑可以在任一文本编辑器上进行,然后再拷到Studio的文档窗口中。
但最好还是一开始就进入Studio环境。
创建FORTRAN 95 程序的步骤大致如下:1)启动Microsoft Developer Studio可以通过不同方式运行dfdev.exe程序以启动Microsoft Developer Studio[开始] \ Compaq Visual Fortran 6 \ Developer Studio \ dfdev.exe:或……\CVF66 \\MSDEV98\dfdev.exeMicrosoft Developer Studio的界面如下图所示:文档窗口工作空间窗口输出窗口2)建立工作空间(WorkSpace)工作空间(WorkSpace)对应着windows资源管理器的一个文件夹。
《Fortran95语言程序设计》课程教学大纲课程英文名称:Fortran95 Programming Design课程编号:0332232002课程计划学时:32学分:2课程简介:FORTRAN语言程序设计是材料物理专业的开设的专业基础课, FORTRAN语言在科学计算领域有着十分广泛的应用。
通过本课程的学习,应使学生掌握FORTRAN95的基本概念,语法规则和利用FORTRAN95进行程序设计的方法。
使学生在后继课的学习中,能够利用FORTRAN95上机编程,解决相应的实际问题,并能在今后的学习和工作中,结合自己的专业知识,开发相应的计算机应用程序。
一、课程教学内容及教学基本要求第一章 Fortran语言程序设计概述本章重点:算法、程序基本结构难点:语言元素本章学时:2学时教学形式:讲授与上机实践相结合教具:计算机,投影仪第一节 Fortran语言程序设计概述本节要求了解:程序设计的过程、基本方法、程序设计语言的分类、Fortran语言的发展、Fortran77、Fortran95程序设计的构成及其兼容性,(考核概率20%)理解:算法的概念,掌握:算法的描述、程序基本结构与书写规则(考核概率100%)1 程序设计的过程算法的描述(重点,难点)2 程序设计的基本方法3 程序设计语言4 Fortran语言的发展5 Fortran95程序基本结构与书写规则(重点)6 Fortran95程序设计的兼容性第二节Fortran95开发环境(第一次上机实验课讲述)本节要求了解:在可视化编程的条件下Fortran 语言所具备的一些新的特点和功能,掌握:可视化编程所需的基础知识和一般步骤(考核概率100%)1 熟悉Fortran95 环境进入系统2 建立项目文件3 建立源程序文件4 输入源程序的内容5 编译、连接、运行作业:认真复习本章内容,预习第二章内容。
第二章数据类型及其运算本章重点:Fortran语言的基本数据类型及其常量表示方法难点:算术表达式的写法本章学时:1学时教学形式:讲授与上机实践相结合教具:计算机,投影仪第一节数据类型及其运算本节要求了解:各种类型常量、变量的定义、算术表达式的写法,(考核概率100%)掌握:Fortran语言的基本数据类型及其常量表示方法(考核概率50%)1 常量2 变量及其定义3符号常量及其定义4 Fortran表达式(重点)作业:认真复习本章内容。
第三章 FORTRAN 90 基础知识FORTRAN 90是一种内容丰富、功能强大、特色鲜明的高级程序设计语言。
本章将介绍FORTRAN 90的一些基本知识,如:字符集、名称、关键字、程序单元、书写格式、数据类型和兼容性等,为进一步学习其它内容奠定基础。
3.1 字符集FORTRAN 90源程序是一个符合FORTRAN 90词法、语法和语义规定的特殊文本,它由FORTRAN 90字符集规定的字符按照词法、语法和语义规定进行描述。
FORTRAN 90字符集由下面四部分字符组成:1.英文字母大写字母: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 。
小写字母: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 。
2.阿拉伯数字数字字符:0 1 2 3 4 5 6 7 8 9。
3.下划线下划线字符:_。
4.特殊字符特殊字符:空格 <Tab> + - * / ( ) , . ' : ! " % & ; < > ? $。
Digital Visual FORTRAN 5.0字符集增加了一些可打印字符,包括十六进制ASCII码为09h(Tab符)、20h至7Eh之间的字符和某些特殊字符集(如:IBM字符集)中字符。
说明:①除字符型常量和Hollerith常量外,源程序中词法和语法描述不区分字母的大小写,如语句“INTEGER I”和语句“integer i”是等价的。
②FORTRAN 90字符集以外的可打印字符,只能出现在注释、字符常量、Hollerith常量、字符串编辑符和输入输出记录中。
③字符:_ ! " % & ; > < ?为FORTRAN 90新增字符。
3.2 名称名称在FORTRAN 77中称“符号名”,在其它语言中称“标识符”。
Fortran之COMMON语句FORTRAN程序中各程序单位之间的数据交换可以通过虚实结合来实现,还可以通过建立公用区的方式来完成。
公用区有两种,一种是无名公用区,任何一个程序中只可能有一个无名公用区;一种是有名公用区,一个程序中可以根据需要由程序员开辟任意多个有名公用区。
建立无名和有名公用区都通过COMMON语句来进行。
按照结构化程序设计的指导思想,通常主张通过虚实结合的途径来传送数据而不主张使用公用区。
因为前者使程序有较好的可读性,而且容易跟踪数据的流向,便于对程序进行调试和维护。
但是虚实结合的传送方式速度较慢,特别是在各程序单位之间有大量的数据需要传送时速度问题就更为突出。
不同程序单位利用公用区交换数据的速度却比虚实结合的方式传送速度快得多。
所以在很多应用程序中如果各程序单位之间有大量数据需要传送时,程序员一般仍然采用开辟公用区的方式。
11.2.1 无名公用区开辟无名公用区COMMON语句的一般形式如下:COMMON a1,a2,…其中a1,a2,…允许是普通变量名、数组名和数组说明符(注意:不是数组元素),它们之间用逗号隔开。
例如:在主程序中写:COMMON X,Y,I,Z(3)在子程序中写:COMMON A,B,J,T(3)于是,在无名公用区中变量X和A,Y和B,I和J分别分配在同一个存储单元中,数组Z和T同占三个存储单元。
占同一个存储单元的那些变量在不同的程序单位中,它们的名字不需要相同。
FORTRAN编译程序在编译时为COMMON语句开辟一个无名公用区,当把不同的程序单位连接在一起的时候,不同程序单位在COMMON语句中的变量按其在语句中出现的先后顺序占用无名公用区连续的存储单元,也就是说每个程序单位中的COMMON语句总是给出现在语句中的第一个变量分配在无名公用区的第一个存储区单元。
COMMON语句开辟公用区的主要用途就是使不同程序单位的变量之间进行数据传送,另一种用途是用来节省存储空间。