Fortran编程入门教程

浅笑安然 2020-07-04 ⋅ 13 阅读

Fortran(Formula Translation)是一种面向科学和工程领域的编程语言,广泛应用于科学计算、数值模拟和数据处理等领域。本教程将带您逐步学习Fortran编程的基础知识,包括变量、数据类型、控制结构和函数等内容。无论您是初学者还是有一定编程经验的人,希望能通过本教程快速入门Fortran编程。

安装Fortran编译器

在开始编程之前,您需要安装一个Fortran编译器来编译和运行您的代码。目前有许多Fortran编译器可供选择,如GNU Fortran(gfortran)、Intel Fortran(ifort)等。您可以根据自己的需求选择合适的编译器,并根据相应的安装指南进行安装。

Hello World

学习任何一门编程语言,第一步往往是编写一个Hello World程序。下面是一个简单的Fortran代码示例:

program hello
  print *, "Hello, World!"
end program hello

在Fortran中,程序由程序头和程序体组成。程序头以program关键字开始,后面跟着程序名(本例中为hello)。程序体则包含了程序的具体逻辑。在本例中,我们使用print语句打印了一条 “Hello, World!” 的消息。print语句的*表示默认输出设备。

要编译和运行上述代码,您可以使用命令行界面(Terminal)执行以下命令:

$ gfortran hello.f90 -o hello
$ ./hello

这将使用gfortran编译器将代码编译为可执行文件,并运行生成的可执行文件。

变量和数据类型

Fortran支持多种数据类型,包括整数(Integer)、浮点数(Real)、逻辑值(Logical)和字符(Character)等。您可以声明变量并为其分配不同的数据类型。下面是一些常用的数据类型和变量声明示例:

program variables
  implicit none
  integer :: age
  real :: height, weight
  logical :: isMale
  character(len=10) :: name

  age = 25
  height = 1.75
  weight = 70.0
  isMale = .true.
  name = "John Smith"

  print *, "Age:", age
  print *, "Height:", height
  print *, "Weight:", weight
  print *, "Is male:", isMale
  print *, "Name:", name
end program variables

在上述代码中,我们声明了一个整数变量age、两个浮点数变量heightweight、一个逻辑值变量isMale和一个字符变量name。我们使用=运算符为变量赋值,并使用print语句打印出这些变量的值。

控制结构

Fortran提供了多种控制结构用于实现条件判断和循环逻辑。下面是一些常用的控制结构示例:

条件判断

program condition
  implicit none
  integer :: x

  x = 10

  if (x < 0) then
    print *, "x is negative"
  elseif (x == 0) then
    print *, "x is zero"
  else
    print *, "x is positive"
  end if
end program condition

在上述代码中,我们使用if语句根据变量x的值进行条件判断,并打印相应的结果。

循环结构

program loop
  implicit none
  integer :: i

  do i = 1, 10
    print *, i
  end do
end program loop

在上述代码中,我们使用do语句实现了一个简单的循环结构,循环打印出变量i的值。

函数和子程序

Fortran支持函数和子程序(或称为过程)的定义和调用。函数是一段代码块,接收输入参数并返回一个值;而子程序则是一段代码块,可以包含多个语句,用于完成特定的任务。下面是一个函数和一个子程序的示例:

program functions
  implicit none
  integer :: x, y

  x = 10
  y = 20

  print *, "Sum:", sum_of_numbers(x, y)
  call print_numbers(5)
end program functions

function sum_of_numbers(a, b) result(sum)
  implicit none
  integer, intent(in) :: a, b
  integer :: sum

  sum = a + b
end function sum_of_numbers

subroutine print_numbers(n)
  implicit none
  integer, intent(in) :: n
  integer :: i

  do i = 1, n
    print *, i
  end do
end subroutine print_numbers

在上述代码中,我们定义了一个函数sum_of_numbers和一个子程序print_numbers。函数接收两个整数参数,并返回它们的和;子程序接收一个整数参数,并循环打印出一系列数字。

结语

本教程提供了Fortran编程的基础知识和示例代码,希望能帮助您快速入门Fortran编程。Fortran是一门强大的科学计算语言,掌握它将有助于您在科学和工程领域进行高效的数值计算和数据处理。希望您能喜欢本教程,并继续深入学习Fortran编程的高级特性和应用。


全部评论: 0

    我有话说: