整型变量
声明为:BYTE、INTEGER、INTEGER(n)或INTEGER(KIND=n),n=1,2,4,8
语法:
<整型变量声明语句>->INTEGER[([KIND=]<整型KIND值>)][::]<整型变量名表>
<整型变量名表>-><变量名>[=<整数>]{,<变量名>[=<整数>]}
说明
1.不指定整型KIND值则取缺省值4;
2.符号::在生命中可有可无,若有,则可以使用[=<整数>]给变量赋初值,否则不能使用;
3.KIND值为1的整型变量声明可由BYTE声明取代;
4.声明" INTEGER(i) "与“ INTEGER * i ”等价,如INTEGER(2) a可写成INTEGER * 2 a
实型变量
声明为:REAL,DOUBLE PRECISION、REAL(n)或REAL(KIND=n),n=4,8
语法:
<实型变量声明语句>->REAL[([KIND=]<实型KIND值>)][::]<实型变量名表>
<实型变量名表>-><变量名>[=<实数>]{,<变量名>[=<实数>]}
说明
1.不指定整型KIND值则取缺省值4;
2.符号::在生命中可有可无,若有,则可以使用[=<实数>]给变量赋初值,否则不能使用;
3.KIND值为8的实型变量声明可由DOUBLE PRECISION声明取代;
4.声明" REAL(i) "与“ REAL * i ”等价,如REAL(4) a可写成REAL * 4 a
复型变量
只能进行显示声明。
声明为:COMPLEX,DOUBLE COMPLEX、COMPLEX(n)或COMPLEX(KIND=n),n=4,8
语法:
<复型变量声明语句>->COMPLEX[([KIND=]<复型KIND值>)][::]<复型变量名表>
<复型变量名表>-><变量名>[=<复数>]{,<变量名>[=<复数>]}
说明1.不指定整型KIND值则取缺省值4;
2.符号::在生命中可有可无,若有,则可以使用[=<复数>]给变量赋初值,否则不能使用;
3.KIND值为8的复型变量声明可由DOUBLE COMPLEX声明取代;
4.声明"COMPLEX(i) "与“ COMPLEX * i ”等价,如COMPLEX(8) a可写成COMPLEX * 8 a
字符型变量
只能进行显示声明。
声明为:CHARACTER,CHARACTER(n),CHARACTER(KIND=n),CHARACTER*k、COMPLEX(k),CHARACTER(k,n),CHARACTER(LEN=k)或COMPLEX(LEN=k,KIND=n),n=1
语法:
<字符型变量声明语句>->CHARACTER[<类型参数>][::]<字符型变量名表>
<类型参数>->([KIND=1]<无符号整数>)|([LEN=1]<无符号整数>[,[KIND=]<无符号整数>])|*<无符号整数>
<字符型变量名表>-><变量名>[*<无符号整数>][=<字符串>]{,<变量名>[*<无符号整数>][=<字符串>]}
说明1.不指定字符型KIND值则取缺省值1;
2.通过<无符号整数>项执行变量KIND值或变量长度。语句中(LEN=k)、(k)和*k是等同的,(KIND=n)和(n)是等同的;
3.符号::在生命中可有可无,若有,则可以使用[=<复数>]给变量赋初值,否则不能使用;
4.名称后的[*<无符号整数>]项为重新定义字符型变量长度。该项定义长度优先,一条字符型变量声明语句内可以定义不同长度的字符型变量。如“CHARACTER *8 a,b,c*10”定义了不同长度的3个字符型变量,a,b的长度为8,c的长度为10;
5.为了区分KIND与LEN,在书写时,CHARACTER表示KIND值默认为1,CHARACTER(3)表示长度为3,如果需要指定KIND值,需要在括号中写清楚“KIND=数字”,如CHARACTER(LEN=3,KIND=2) a
逻辑型变量
只能进行显示声明。
声明为:LOGICAL、LOGICAL(n)或LOGICAL(KIND=n),n=1,2,4,8
语法:
<逻辑型变量声明语句>->LOGICAL[([KIND=]<逻辑型KIND值>)][::]<逻辑型变量名表>
<逻辑型变量名表>-><变量名>[=<逻辑值>]{,<变量名>[=<逻辑值>]}
说明1.不指定逻辑型KIND值则取缺省值4;
2.符号::在生命中可有可无,若有,则可以使用[=<复数>]给变量赋初值,否则不能使用;
3.声明"LOGICAL(i) "与“ LOGICAL * i ”等价,如LOGICAL(2) a可写成LOGICAL * 2 a
4.逻辑值.TRUE.等价整数值-1,逻辑值.FALSE.等价整数值0。逻辑型变量按等价的整数参与整型运算。