Fortran中变量命名规则

 

原文地址:http://blog.sina.com.cn/s/blog_483ac0ab0100g80u.html

 变量是指在程序运行期间其值是可以变化的量。系统为程序中的每一个变量开辟一个存储单元,用来存放变量的值。
 常量是分为类型的,而变量是用来存放常量的,因此变量也相应地区分为整型变量INTEGER、实型变量REAL、双精度变量DOUBLEPRECISION、复型变量COMPLEX、逻辑型变量LOGICAL、字符型变量CHARACTER。在程序中应当说明哪些变量是整型变量,哪些变量是实型变量。变量在内存中所占的字节数和数据存储形式与相应类型的常数相同。例如,实型变量一般占4个字节,按指数形式存放。在程序中规定变量的类型可以用以下几种方法。
隐含约定:Fortran规定,凡以字母I,J,K,L,M,N六个字母开头的变量名,如无另外说明则为整型变量。以其它字母开头的变量为实型变量。可以将这个隐含约定称为“I—N规则”,表示用I到N之间的字母开头的变量为整型。例如:I,J,IMAX,NUMBER,LINE,JOB,Kl为整型变量,而A,Bl,COUNT,AMOUNT,TOTAL,BOOK为实型变量。
类型指定:如果想改变“I—N规则”对变量类型的约束,可以用类型说明语句专门指定某些变量的类型。Fortran中有六个类型说明语句:
(1)INTEGER语句(整型说明语句)
(2)REAL语句(实型说明语句)
(3)DOUBLE PRECISION语句(双精度说明语句)
(4)COMPLEX语句(复型说明语句)
(5)LOGICAL语句(逻辑型说明语句)
(6)CHARACTER语句(字符型说明语句)
IMPLICIT语句(隐含说明语句)指定:可以用IMPLICIT语句将某一字母开头的全部变量指定为所需的类型,还可以用一个IMPLICIT语句同时指定几种类型。例如:
IMPLICIT INTEGER (A,C,T-V)
IMPLICIT REAL (I,J)
IMPLICIT INTEGER (A,B),REAL(I,K),INTEGER (X-Z)
注:(1)以上三种方法中,以类型说明语句最优先,IMPLICIT语句次之,“I—N规则”的隐含约定级别最低。如下程序中IMAX变量为整型,而其它以I、J开头的变量为实型:
IMPLICIT REAL(I,J)
INTEGER IMAX
(2) 类型说明语句和IMPLICIT语句是非执行语句。
(3) 类型说明只在本程序单位内有效。
(4)IMPLICIT语句和类型说明语句应该出现在本程序单位中的所有执行语句之前,其中IMPLICIT语句又应在所有的类型说明语句之前。
变量名使用的英文名是由(F77:6;F90:31)个字符(包含英文字母A-Z、数字0-9、F90:下划线_)构成,且第一个字符必须是字母。其英文名的有效使用范围原则上限于一个程序单位之内(内部过程除外)。如下面的语句是错误的:
INTEGER ::1A          ! 不是以字母开头
INTEGER ::A_name_made_up_of_more_than_31_letters  ! 太长
INTEGER ::China:0     ! 含有不允许的字符
INTEGER ::A-3         ! 减号在此是无意义的
Fortran没有规定保留字,即可以用函数名或语句定义符作变量名。但为了避免混淆,建议不要使用Fortran中已有特定含义的字作变量名。如SIN是正弦函数的名字,如果有以下语句:
SIN=3.5
PRINT *,SIN
则语句中的SIN是变量名而不代表正弦函数。系统会根据它后面有无自变量而作出判断,又如:
READ *,PRINT
此时PRINT是一个变量名而不代表“打印输出”的操作。系统会认定语句的第—个字READ为代表操作的语句定义符,而把PRINT作为READ语句中读数的变量。但在同一个程序单位(主程序或子程序分别是一个程序单位)中,变量名和函数名或语句定义符不能同名。以下是错误的:
SIN=3.5
A=SIN*SIN(2.0)

猜你喜欢

转载自blog.csdn.net/baidu_29950065/article/details/72963444