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


 

posted @   xdd1997  阅读(588)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示