📜  Fortran-基本语法(1)

📅  最后修改于: 2023-12-03 15:30:51.015000             🧑  作者: Mango

Fortran-基本语法

Fortran是一种高级编程语言,人们用于科学计算、数值分析和数据处理等高性能计算领域。Fortran主要用于科学、工程和数值计算等应用,具有良好的可读性和可维护性。

基本结构

Fortran程序的基本结构由一个或多个主程序和一些子程序组成。主程序必须以PROGRAM关键字开始,以END PROGRAMEND结束。子程序包括函数和子例程,必须以FUNCTIONSUBROUTINE开始,以END FUNCTIONEND SUBROUTINEEND结束。

! 主程序
PROGRAM HelloWorld
! 定义变量
INTEGER :: a
! 输出信息
WRITE(*,*) 'Hello World!'
! 输入变量
READ(*,*) a
! 输出变量
WRITE(*,*) a
! 结束程序
END PROGRAM

! 结果输出
! Hello World!
! 123
变量和数据类型

Fortran中的变量必须在使用前声明,并且必须指定其数据类型。Fortran主要有五种基本数据类型:INTEGERREALCOMPLEXLOGICALCHARACTER

! 定义变量
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支持DODO WHILEDO 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
文件IO

Fortran中的文件IO主要由OPENCLOSEREADWRITE语句实现。

! 打开文件
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编程。