02-Fortran基础–Fortran操作符与控制结构

02-Fortran基础–Fortran操作符与控制结构运算符和控制流程对编程语言是必须的 Fortran 的操作符和控制流程涉及到各种数学运算符 逻辑运算符以及控制结构 fortran 运算符

大家好,欢迎来到IT知识分享网。


02-Fortran基础--Fortran操作符与控制结构


0 引言

  运算符和控制流程对编程语言是必须的,Fortran的操作符和控制流程涉及到各种数学运算符、逻辑运算符以及控制结构。下面是Fortran的运算符和控制流程的基础内容。

1 操作符

1.1 数学运算符

  • + 加法
  • – 减法
  • * 乘法
  • / 除法
  • 幂运算
a = 10 b = 5 c = a + b ! c = 15 d = a * b ! d = 50 e = a ** 2 ! e = 100 

1.2 逻辑运算符

  • .and. 逻辑与
  • .or. 逻辑或
  • .not. 逻辑非
logical :: p, q, r p = .true. q = .false. r = p .and. q ! r = .false. 

1.3 关系运算符

关系运算符名称 写法1 写法2
等于 == .eq.
不等于 /= .ne.
小于 < .lt.
小于等于 <= .le.
大于 > .gt.
大于等于 >= .ge.
integer(4) :: x, y x = 10 y = 5 if (x > y) then continue ! 执行操作 end if if(x .le. y)then ! 判断条件等价于 if(x<=y)then continue ! continue关键字表示继续执行,理解为占位; end if 

2 控制流程

2.1 条件结构

IF-THEN:根据条件执行不同的操作。

! 条件判断语句的一般形式 if (condition) then ! 执行操作 end if 

示例:

 program test2 real(8) :: x call RANDOM_SEED() ! 随机种子 call RANDOM_NUMBER(x) ! 生成[0-1]的随机数赋值给x if(x > 0.5)then ! 判断随机数是否大于0.5 print *,'x>',0.5 else print *,'x<=',0.5 endif end program 


02-Fortran基础--Fortran操作符与控制结构

2.2 循环结构

  Fortran 中的循环结构主要包括 DO 循环和 DO WHILE 循环。

2.2.1 DO循环
  DO:执行指定次数的循环。

do index = start, end, step ! 循环体 end do 

其中:

index 是循环控制变量,它在每次循环迭代时递增或递减。
start 是循环控制变量的初始值。
end 是循环控制变量的结束值。循环将一直执行,直到 index 达到或超过 end。
step 是循环控制变量的步长。如果 step 为正值,则 index 在每次迭代时递增;如果 step 为负值,则 index 在每次迭代时递减。

  在循环体中,你可以执行任意操作,包括数学计算、逻辑判断、数组操作等。例如:

示例

PROGRAM LoopExample IMPLICIT NONE INTEGER :: i ! 打印从110的偶数 DO i = 2, 10, 2 PRINT *, i END DO END PROGRAM LoopExample 

  在上面的例子中,循环控制变量 i 的初始值为2,结束值为10,步长为2。因此,循环将从2开始,每次递增2,直到达到或超过10。在循环体中,PRINT * 语句用于打印循环变量 i 的值,从而打印出从2到10的所有偶数。

2.2.1 DO WHILE循环
  DO WHILE 循环用于在满足条件时重复执行一段代码,其一般形式如下:

DO WHILE (condition) ! 执行的代码 END DO 

  condition 是一个逻辑表达式,当其为真时循环继续执行,为假时循环结束。

示例:

PROGRAM DoWhileExample IMPLICIT NONE INTEGER(4) :: count count = 0 DO WHILE (count < 5) count = count + 1 PRINT *, "循环次数:", count END DO END PROGRAM DoWhileExample 

  在这个示例中,当 count 小于 5 时,循环继续执行,每次增加 count 的值,并打印出循环次数。当 count 达到 5 时,循环结束。

  这些是 Fortran 中常用的循环结构,它们可以帮助你重复执行特定的代码块,实现各种算法和任务。

2.3 分支结构

  Fortran 中的分支结构通常有 IF 语句和 SELECT CASE 语句两种形式。

2.3.1 IF 语句
  IF 语句用于根据条件执行不同的代码块。它的一般形式如下:

IF (condition) THEN ! 如果条件为真,则执行此处的代码 ELSEIF (condition2) THEN ! 如果上一个条件为假且条件2为真,则执行此处的代码 ELSE ! 如果所有条件都为假,则执行此处的代码 END IF 

  其中,condition、condition2 等是逻辑表达式,可以是关系运算、逻辑运算的组合,用于判断是否执行相应的代码块。

示例:

PROGRAM IfExample IMPLICIT NONE INTEGER :: x x = 10 IF (x > 0) THEN PRINT *, "x 是正数" ELSEIF (x < 0) THEN PRINT *, "x 是负数" ELSE PRINT *, "x 是零" END IF END PROGRAM IfExample 

  在这个示例中,根据 x 的值,打印出不同的消息。

2.3.2 SELECT CASE 语句
  SELECT CASE 语句用于根据表达式的值选择执行不同的代码块。它的一般形式如下:

SELECT CASE (expression) CASE (value1) ! 如果表达式的值等于 value1,则执行此处的代码 CASE (value2) ! 如果表达式的值等于 value2,则执行此处的代码 CASE DEFAULT ! 如果表达式的值与所有值都不匹配,则执行此处的代码 END SELECT 

示例:

PROGRAM SelectCaseExample IMPLICIT NONE INTEGER :: day day = 3 SELECT CASE (day) CASE (1) PRINT *, "星期一" CASE (2) PRINT *, "星期二" CASE (3) PRINT *, "星期三" CASE DEFAULT PRINT *, "未知" END SELECT END PROGRAM SelectCaseExample 

  在这个示例中,根据 day 的值,打印出相应的星期几。希望这些示例能够帮助你理解 Fortran 中的分支结构。

  通过控制结构,可以实现根据不同条件执行不同的代码块、重复执行一段代码、选择不同的执行路径、以及控制循环的流程。这些控制结构在Fortran编程中起着至关重要的作用,帮助程序实现复杂的逻辑和算法

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/144430.html

(0)
上一篇 2025-04-26 19:20
下一篇 2025-04-26 19:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信