文字常数
程序单元通常使用文字常量。这些涵盖了明显的案例
print *, "Hello", 1, 1.0
除了一种情况外,每个文字常量都是一个标量,它具有由语法给出的类型,类型参数和值。
整数文字常量是形式
1
-1
-1_1 ! For valid kind parameter 1
1_ik ! For the named constant ik being a valid kind paramter
真正的文字常量是形式
1.0 ! Default real
1e0 ! Default real using exponent format
1._1 ! Real with kind parameter 1 (if valid)
1.0_sp ! Real with kind paramter named constant sp
1d0 ! Double precision real using exponent format
1e0_dp ! Real with kind named constant dp using exponent format
复杂的字面常量是形式
(1, 1.) ! Complex with integer and real components, literal constants
(real, imag) ! Complex with named constants as components
如果实部和虚部都是整数,则复数字常量是默认复数,并且整数分量将转换为默认实数。如果一个组件是实数,则复数文字常量的种类参数是真实的(并且整数组件转换为该实际种类)。如果两个分量都是真实的,则复数字常量是具有最高精度的实数。
逻辑文字常量是
.TRUE. ! Default kind, with true value
.FALSE. ! Default kind, with false value
.TRUE._1 ! Of kind 1 (if valid), with true value
.TRUE._lk ! Of kind named constant lk (if valid), with true value
字符文字值在概念上略有不同,因为类型说明符在值之前
"Hello" ! Character value of default kind
'Hello' ! Character value of default kind
ck_"Hello" ! Character value of kind ck
"'Bye" ! Default kind character with a '
'''Bye' ! Default kind character with a '
"" ! A zero-length character of default kind
如上所述,字符常量必须用撇号或引号分隔,并且开始和结束标记必须匹配。可以通过在引号分隔符内或通过出现加倍来包括文字撇号。引号相同。
BOZ 常量与上述不同,因为它们仅指定一个值:它们没有类型或类型参数。BOZ 常量是位模式,并指定为
B'00000' ! A binary bit pattern
B"01010001" ! A binary bit pattern
O'012517' ! An octal bit pattern
O"1267671" ! An octal bit pattern
Z'0A4F' ! A hexadecimal bit pattern
Z"FFFFFF" ! A hexadecimal bit pattern
BOZ 文字常量在它们可能出现的位置是有限的:作为 data
语句中的常量和选择的内部过程。