- 第一章 Fortran 语言程序设计初步
- 第二章 改变程序流程
- 第三章 循环结构
- 第四章 数据结构
- 第五章 数组
- 第六章 过程和模块
- 第七章 输入输出和文件
2.2.2 逻辑表达式
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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论