📜  Fortran-基本输入输出(1)

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

Fortran 基本输入输出

Fortran 是一种面向科学计算的高级编程语言,其输入输出 (I/O) 功能是任何程序的核心功能。本文将介绍 Fortran 中的基本输入输出。

标准输入输出

Fortran 的标准输入输出是在语言本身中内置的。我们可以使用 READ 语句来读取标准输入和 WRITE 语句来写入标准输出。下面是一个示例程序:

PROGRAM hello
  CHARACTER(LEN=20) :: name
  WRITE(*,*) "What is your name?"
  READ(*,*) name
  WRITE(*,*) "Hello, ", TRIM(name), "!"
END PROGRAM hello

以上代码将提示用户输入其名字,并输出问候语。* 是一个特殊的标志,它表示标准输入或输出。在此示例中,WRITE(*,*) 表示将文本输出到标准输出,而 READ(*,*) 表示从标准输入读取文本。

文件输入输出

我们也可以使用 OPEN 语句打开文件,然后使用 READWRITE 语句读取或写入文件。下面是一个示例程序:

PROGRAM file_io
  INTEGER :: i
  REAL :: x
  CHARACTER(LEN=20) :: filename
  CHARACTER(LEN=10) :: mode
  WRITE(*,*) "Enter file name and mode (e.g. 'data.txt' 'r')"
  READ(*,*) filename, mode
  OPEN(UNIT=10, FILE=filename, STATUS='OLD', ACTION=mode)
  DO i = 1, 5
    READ(10,*) x
    WRITE(*,*) x**2
  END DO
END PROGRAM file_io

以上代码将提示用户输入文件名和打开模式,然后将文件与单位号 10 相关联,并读取文件中的 5 个实数,对每个实数计算平方并将其写入标准输出。

格式化输入输出

此外,Fortran 还支持格式化输入输出,我们可以使用 FORMAT 语句来定义格式。下面是一个示例程序:

PROGRAM formatted_io
  INTEGER :: i
  REAL :: x
  CHARACTER(LEN=20) :: filename
  CHARACTER(LEN=10) :: mode
  CHARACTER(LEN=20) :: format_str
  format_str = "(2F8.2)"
  WRITE(*,*) "Enter file name and mode (e.g. 'data.txt' 'r')"
  READ(*,*) filename, mode
  OPEN(UNIT=10, FILE=filename, STATUS='OLD', ACTION=mode)
  DO i = 1, 5
    READ(10,format_str) x
    WRITE(*,format_str) x**2
  END DO
END PROGRAM formatted_io

以上代码类似于示例程序 2 中的程序,但使用了格式化输入输出。在此示例中,我们使用一个字符串变量来存储格式,然后将格式用作 READWRITE 语句的参数。

总结

Fortran 的输入输出功能非常强大,并且可以方便地使用标准输入输出或打开文件实现。我们还可以使用格式化输入输出来更好地控制输出格式。这些功能使 Fortran 可以轻松处理复杂的科学计算问题。