一:关系运算符
.LT | < |
---|---|
.LE. | <= |
.EQ. | = |
.NE. | /= |
.GT. | > |
.GE. | >= |
表格中的两列可以单独使用或混合使用。
A.GE.B
X+Y<Z-W
二:逻辑IF语句
代码示例:
PROGRAM MAIN
REAL X,Y,Z,MAX
READ *,X,Y,Z
MAX = X
IF (MAX<Y) MAX=Y
IF (MAX<Z) MAX=Z
PRINT *,"THE MAX IS:",MAX
END
三:块IF结构
判断水仙花数
PROGRAM SXH
INTEGER N,N1,N2,N3,S
READ *,N
N1 = MOD(N,10)
N2 = MOD(N/10,10)
N3 = N/100
S = N1*N1*N1 + N2*N2*N2 + N3*N3*N3
IF (S==N) THEN
PRINT *,N,"是水仙花数"
ELSE
PRINT *,"不是"
END IF
END
四:块CASE结构
REAL G
READ *,G
SELECT CASE(INT(G))
CASE(85:100)
PRINT *,"EXCELLENT"
CASE(70:84)
PRINT *,"GOOD'
CASE(60:69)
PRINT *,"PASS"
CASE(:59)
PRINT *,"FAIL"
CASE DEFAULT
PRINT *,"WRONG!"
END SELECT
EDN
五:循环
1:DO循环
循环需要注意三点,首先,在循环体内给循环变量赋值是不被允许的。
第二,在循环体中改变变量的值,循环参数也并不改变
INTEGER X,Y,Z,K
X=1
Y=7
Z=2
DO K=X,Y,Z+1 !第一个参数是起点,第二是终点,第三是步长,是闭区间
X=2
Y=Y+K
Z=Z*K
PRINT *,K,X,Y,Z
END DO
END
!结果
1 2 9 2
4 2 11 8
7 2 13 56
第三,退出循环后循环变量的值与最后一次循环时循环变量的值不同,多了一个步长
DO K=1,10,2
L=K
END DO
PRINT *,K,L
END
!结果
11 9
2:DO WHILE循环
INTEGER::N,K=0
READ *,N
DO WHILE (N>0)
K=K+1
N=N/10
END DO
PRINT *,"N的位数:",K
END
3:EXIT、CYCLE
使用EXIT语句,循环立即终止,跳出循环体。
CYCLE循环中结束本次循环,即跳过循环体中尚未执行的语句。