Fortran 语言 循环结构基础教程

Fortran阿木 发布于 2025-06-20 5 次阅读


Fortran 循环结构基础教程

Fortran(Formula Translation)是一种历史悠久的编程语言,广泛应用于科学计算、工程领域和数据分析。循环结构是编程语言中处理重复任务的重要工具,Fortran 提供了多种循环结构来满足不同的编程需求。本文将围绕 Fortran 循环结构的基础知识,通过实例代码进行详细讲解。

循环结构概述

在 Fortran 中,循环结构主要有以下几种:

1. `DO` 循环

2. `WHILE` 循环

3. `DO WHILE` 循环

1. `DO` 循环

`DO` 循环是最常用的循环结构,它允许你重复执行一段代码直到满足特定的条件。

fortran

DO i = 1, 10


PRINT , i


END DO


在上面的例子中,循环变量 `i` 从 1 开始,每次循环增加 1,直到 `i` 等于 10。

2. `WHILE` 循环

`WHILE` 循环在满足条件时重复执行代码块。

fortran

i = 1


DO WHILE (i <= 10)


PRINT , i


i = i + 1


END DO


在这个例子中,循环会一直执行,直到 `i` 大于 10。

3. `DO WHILE` 循环

`DO WHILE` 循环与 `WHILE` 循环类似,但它在循环开始时检查条件。

fortran

i = 1


DO WHILE (i <= 10)


PRINT , i


i = i + 1


END DO


这个例子与 `WHILE` 循环的例子相同。

循环控制语句

在 Fortran 中,你可以使用以下控制语句来控制循环的执行:

1. `CONTINUE`

2. `CYCLE`

3. `EXIT`

1. `CONTINUE`

`CONTINUE` 语句用于跳过当前循环的剩余部分,并开始下一次迭代。

fortran

DO i = 1, 10


IF (i == 5) THEN


CONTINUE


END IF


PRINT , i


END DO


在上面的例子中,当 `i` 等于 5 时,`CONTINUE` 语句会跳过 `PRINT` 语句,直接开始下一次循环。

2. `CYCLE`

`CYCLE` 语句用于立即开始下一次循环迭代,跳过当前循环的剩余部分。

fortran

DO i = 1, 10


IF (MOD(i, 2) == 0) THEN


CYCLE


END IF


PRINT , i


END DO


在这个例子中,只有奇数会被打印出来。

3. `EXIT`

`EXIT` 语句用于立即退出循环。

fortran

DO i = 1, 10


IF (i == 5) THEN


EXIT


END IF


PRINT , i


END DO


在上面的例子中,当 `i` 等于 5 时,`EXIT` 语句会立即退出循环。

循环嵌套

Fortran 允许循环嵌套,即一个循环内部可以包含另一个循环。

fortran

DO i = 1, 3


DO j = 1, 3


PRINT , 'i =', i, 'j =', j


END DO


END DO


在上面的例子中,外层循环执行 3 次,每次内层循环也执行 3 次。

循环控制变量

在 Fortran 中,循环控制变量可以是任何类型的变量,包括数组、指针和对象。

fortran

INTEGER, DIMENSION(5) :: array


DO i = 1, 5


array(i) = i 2


END DO


在上面的例子中,`array` 数组被初始化为从 2 到 10 的连续整数。

总结

循环结构是 Fortran 编程中不可或缺的一部分,它允许你重复执行代码块,直到满足特定条件。本文介绍了 Fortran 中常用的循环结构,包括 `DO` 循环、`WHILE` 循环和 `DO WHILE` 循环,以及循环控制语句和循环嵌套。通过这些基础知识,你可以更好地理解和应用 Fortran 的循环结构,编写出高效的程序。

实例代码

以下是一些 Fortran 循环结构的实例代码,用于帮助你更好地理解:

fortran

! DO 循环


DO i = 1, 10


PRINT , i


END DO

! WHILE 循环


i = 1


DO WHILE (i <= 10)


PRINT , i


i = i + 1


END DO

! DO WHILE 循环


i = 1


DO WHILE (i <= 10)


PRINT , i


i = i + 1


END DO

! CONTINUE 语句


DO i = 1, 10


IF (i == 5) THEN


CONTINUE


END IF


PRINT , i


END DO

! CYCLE 语句


DO i = 1, 10


IF (MOD(i, 2) == 0) THEN


CYCLE


END IF


PRINT , i


END DO

! EXIT 语句


DO i = 1, 10


IF (i == 5) THEN


EXIT


END IF


PRINT , i


END DO

! 循环嵌套


DO i = 1, 3


DO j = 1, 3


PRINT , 'i =', i, 'j =', j


END DO


END DO

! 循环控制变量


INTEGER, DIMENSION(5) :: array


DO i = 1, 5


array(i) = i 2


END DO


通过这些实例代码,你可以练习和加深对 Fortran 循环结构的理解。