AREA = 2 *PI * (RADIUS**2 + RADIUS*HEIGHT) ! 指数运算比 C 方便
! Write the input variables (RADIUS, HEIGHT) and output (AREA) to the screen.
WRITE (*,'(1X,A7,F6.2,5X,A7,F6.2,5X,A5,F6.2)') & !"&"表续行;格式化输出
'RADIUS=',RADIUS,'HEIGHT=',HEIGHT,'AREA=',AREA
YN = ' '
YN_LOOP: DO !内嵌的另一个 do 循环
WRITE(*,*) 'Perform another calculation? y[n]'
READ(*,'(AL)') YN
IF (YN=='y' .OR. YN=='Y') EXIT YN_LOOP
IF (YN=='n' .OR. YN=='N' .OR. YN==' ') EXIT INTERACTIVE_LOOP
EDN DO YN_LOOP !结束内嵌 do 循环
END DO INTERACTIVE_LOOP
EDN PROGRAM CYLINDER
以上就是 Fortran 程序的主要结构。一般还会有些 MODULE 的部分在主函数前,函数在
主函数后。
三、数据类型及输入输出
1、数据类型,声明及赋初值
(1)INTEGER: 短整型 KIND=2, 长整型 KIND=4
INTEGER([KIND=]2) :: A=3
!如果声明成 INTEGER:: A,则默认为长整型。"::" 在声明并同时赋初值时必须要写上;
类型名后面有属性说明时也必须保留"::";其他情况可略去属性说明。比如声明常数:
REAL,PARAMETER :: PI=3.1415926 !PARAMETER 为属性说明
(2)REAL:单精度 KIND=4(默认),双精度 KIND=8
REAL([KIND=]8) :: A=3.0
READ*8 A
还有指数的形式,如 1E10 为单精度,1D10 为双精度
(3)COMPLEX 单精度和双精度
COMPLEX([KIND=]4) B !使用时 B=(X,Y)X 为实部,Y 为虚部
(4)CHARACTER
CHARACTER([LEN=]10) C !LEN 为字符串最大长度
CHARACTER*10 C !也是正确的
(5)LOGICAL