📅  最后修改于: 2023-12-03 15:30:51.015000             🧑  作者: Mango
Fortran是一种高级编程语言,人们用于科学计算、数值分析和数据处理等高性能计算领域。Fortran主要用于科学、工程和数值计算等应用,具有良好的可读性和可维护性。
Fortran程序的基本结构由一个或多个主程序和一些子程序组成。主程序必须以PROGRAM
关键字开始,以END PROGRAM
或END
结束。子程序包括函数和子例程,必须以FUNCTION
或SUBROUTINE
开始,以END FUNCTION
,END SUBROUTINE
或END
结束。
! 主程序
PROGRAM HelloWorld
! 定义变量
INTEGER :: a
! 输出信息
WRITE(*,*) 'Hello World!'
! 输入变量
READ(*,*) a
! 输出变量
WRITE(*,*) a
! 结束程序
END PROGRAM
! 结果输出
! Hello World!
! 123
Fortran中的变量必须在使用前声明,并且必须指定其数据类型。Fortran主要有五种基本数据类型:INTEGER
,REAL
,COMPLEX
,LOGICAL
和CHARACTER
。
! 定义变量
INTEGER :: a
REAL :: b
COMPLEX :: c
LOGICAL :: d
CHARACTER(LEN=10) :: e
Fortran中的控制结构包括分支和循环。
Fortran支持IF...THEN...ELSE...
和SELECT CASE
语句用来实现分支控制。
! IF...THEN...ELSE...
IF (a > b) THEN
WRITE(*,*) 'a is greater than b'
ELSEIF (a < b) THEN
WRITE(*,*) 'b is greater than a'
ELSE
WRITE(*,*) 'a is equal to b'
END IF
! SELECT CASE
SELECT CASE (a)
CASE (1)
WRITE(*,*) 'a is 1'
CASE DEFAULT
WRITE(*,*) 'a is not 1'
END SELECT
Fortran支持DO
,DO WHILE
和DO UNTIL
语句用来实现循环控制。
! DO
DO i = 1, 10
WRITE(*,*) i
END DO
! DO WHILE
DO WHILE (i <= 10)
WRITE(*,*) i
i = i + 1
END DO
! DO UNTIL
DO
i = i + 1
WRITE(*,*) i
END DO UNTIL (i >= 10)
Fortran中的函数和子例程是可重用的代码块,用于实现某些特定功能。
! 函数
FUNCTION CalcSum(n)
INTEGER, INTENT(IN) :: n
INTEGER :: i, sum
sum = 0
DO i = 1, n
sum = sum + i
END DO
CalcSum = sum
END FUNCTION
! 子例程
SUBROUTINE Swap(a, b)
INTEGER, INTENT(INOUT) :: a, b
INTEGER :: temp
temp = a
a = b
b = temp
END SUBROUTINE
! 函数使用
WRITE(*,*) CalcSum(10)
! 子例程使用
a = 1
b = 2
CALL Swap(a, b)
WRITE(*,*) a, b
Fortran中的文件IO主要由OPEN
,CLOSE
,READ
和WRITE
语句实现。
! 打开文件
OPEN(10, FILE='data.dat', STATUS='OLD')
! 读取文件
DO i = 1, 5
READ(10, *) a(i), b(i)
END DO
! 写入文件
DO i = 1, 5
WRITE(20, *) a(i), b(i)
END DO
! 关闭文件
CLOSE(10)
CLOSE(20)
以上是Fortran的基本语法介绍,涵盖了变量、控制结构、函数和子例程、文件IO等常用语法。希望本文能够帮助新手更快的入门Fortran编程。