Fortran流程控制与逻辑运算、循环--xdd

1.IF语句

1 if() then
  ...
  end if

2  if() then
  ...
  else
  ...
  end if

3 if() then
  ...
  else if() then
  ...
  else if() then
  ...

  ...
  else
  ...
  end if

4 if() then !if嵌套
    if() then
    else if() then
    else
    end if
  else if () then
  else
  end if

2.逻辑运算

== .EQ. .AND.
/= .NE. .OR.
> .GT. .NOT. 取反
>= .GE. .EQV. 两边逻辑结果相同时,表达式成立
< .LT. .NEQV 两边逻辑结果不同时,表达式成立
<= .LE.    

3.select case语句

select case(变量)     !变量只能为integer、character、logical类型,如case(1),case(1:5),case(1:),case(:5), case('+')
    case (数值1)
        ...
    case (数值2)
        ...
        ...
    case default
        ...
end select

4.其他流程控制

  • goto
if(a<10) then
    goto 100
end if
100 write(*,*)"最后结果是",a
!goto(100,200,300)a

   pause   !运行到此暂停,等待enter继续执行


write by xdd  2019-09-19  16:48:26


 5.DO循环

 1 do counter=1,lines,1
 2   ...
 3 end do
 4 
 5 do while(逻辑运算)  !逻辑运算成立时,会一直执行
6 ...
7 end do
8 
9 do
10   do
11   ...
12   end do 13 end do

6.循环的流程控制

    • cycle  !在该循环模块中,跳过cycle后面的模块,进入下一次循环(而不是下一层循环)
    • exit     !跳出正在运行的循环(估计是跳出单层循环,如有嵌套,不能跳出所有循环
    • 循环的署名
outer: do i=1,10,1
  inner: do j=1,10,1
    write(*,"("(',I2',',I2')")") i,j   !输出结果为形如(1,2)
  end do inner
end do outer

write by xdd  2019-09-20  09:42:52



转载仅为学习,不会商用。
欢迎转载原创,附文链接。
原文地址:https://www.cnblogs.com/xdd1997/p/11550883.html