返回介绍

2.2.2 逻辑表达式

发布于 2025-03-08 16:28:31 字数 2564 浏览 0 评论 0 收藏 0

a) 逻辑量

Fortran 的逻辑常量只有两个:.TRUE. (表示“真”,即满足逻辑条件); .FALSE. (表示“假”,即不满足逻辑条件)。

例:当 X=3 时,“X<5”的值为.TRUE.(真),而“X<=0.”的值为.FALSE.(假)。

逻辑型变量用来存放逻辑常量。它的值也只能是.TRUE.或.FALSE.之一。可以将一逻辑常量赋予一个逻辑变量。如将 A 定义为逻辑型变量,用赋值语句对其赋值:

LOGICAL A

A=.TRUE.

逻辑赋值语句的一般形式为:逻辑变量=逻辑表达式。

b) 逻辑运算符

Fortran 有 5 个逻辑运算符,每个操作符两边都有一点,不可省略:

逻辑运算符

含义

逻辑运算例

例子含义

.AND.

.OR.

.NOT.

.EQV.

.NEQV.

逻辑与

逻辑或

逻辑非

逻辑等价

逻辑不等价

A.AND.B

A.OR.B

.NOT.A

A.EQV.B

A.NEQV.B

A,B 为真时,则 A.AND.B 为真

A,B 之一为真,则 A.OR.B 为真

A 为真,则.NOT.A 为假

A 和 B 值为同一逻辑常量时,A.EQV.B 为真

A 和 B 的值为不同的逻辑常量,则 A.NEQV.B 为真

注意不要将.AND.与.EQV.混淆:A.AND.B 是当 A 和 B 均为真时才为真;A.EQV.B 是当 A 和 B 均为真或均为假时为真。

c) 逻辑表达式的运算

下面是逻辑表达式的例子:

逻辑表达式

说明

(A.LT.B).AND.(A.GT.C)

(X.LT.0.).OR.(X.GT.100.)

.NOT.(X.LE.O.)

(A.GT.B).EQV.(C.GT.D)

L1.NEQV.L2

当 A<B 和 A>C 时表达式值为真

当 X<0 或 X>100 时,表达式值为真

当 X≤0 时,表达式值为假

当两个括弧内的值都为真或都为假时,表达式的值为真

当 L1 与 L2 的逻辑值不相同时,表达式的值为真

一个逻辑表达式中可以包括多个逻辑运算符,如逻辑表达式:A.GE.0.0.AND.A+C.GT.B+D.OR..NOT..TRUE.中不仅有逻辑运算符,还有关系运算符和算术运算符。Fortran 规定了以下的运算顺序:

(1) 先计算算术表达式的值(例如上式中的 A+C 和 B+D)。

(2) 再求关系表达式的值(例如上式中的 A.LE.0.0 和 A+C.GT.B+D)。

(3) 最后进行逻辑运算,其顺序是:.NOT. > .AND. > .OR. > .EQV. 和 .NEQV.。如果有括弧,则先进行括弧内的运算。

可用下表表示各种运算符的优先级别:

运算类别

运算符

优先级

括号

( )

1

算术运算

**

2

* /

3

+ -

4

关系运算

.GT. .GE. .LT. .LE. .EQ. .NE.

5

逻辑运算

.NOT.

6

.AND.

7

.OR.

8

.EQV. .NEQV.

9

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文