是要热爱美好的呀 2021-09-02 23:17 采纳率: 93.1%
浏览 262
已结题

Fortran的do while . 和matlab的 while if .break用法一样吗

Fortran的do while 和matlab的 while if break用法一样吗
比如 Fortran中有

do while(t<t0)
!执行语句
end

matlab 中有

while t<t0
if t>=t0
break
%执行语句
end

这两种用法一样吗
谢谢回答

  • 写回答

1条回答 默认 最新

  • joel_1993 2021-09-03 08:53
    关注

    同学你好!matlab和fortran都有do while语句,而且都有两种用法:一种是判断语句放在while后面,表示当什么样的条件就执行循环体内部的语句,不满足就退出循环;另一种是直接while后面直接加真值1(true),而退出语句放在循环体中,用if条件引导,只要满足if条件里面的内容,就退出循环,要是没有退出语句,那么这种while循环容易变成死循环。(注意:第二种的退出语句matlab和fortran的不一样,matlab是break,fortran是exit;而且matlab循环时while...end,fortran是do while...enddo)
    下面fortran和matlab各举几个例子(都是1加到100):
    Matlab
    (1)判断条件在while后面

    i = 1;
    s = 0;
    while(i<=100)%满足条件执行循环,不满足退出循环
        s = s + i;
        i= i+1;
    end
    disp(s)
    

    (2)判断条件在循环体内部

    i = 1;
    s = 0;
    while(true) %  true一直满足所以这个地方不会导致循环退出
        s = s + i;
        i= i+1;
        if(i>100)%当满足条件后直接退出循环
            break;
        end
    end
    disp(s)
    

    Fortran
    (1)判断条件在while后面

    program main
    implicit none
    integer:: s, i
    s = 0
    i = 1
    do while(i<=100)!满足时进入循环体,不满足就退出
        s = s + i
        i = i + 1
    enddo
    write(*,*)s
    read(*,*)
    end
    

    (2)判断条件在循环体内部

    program main
    implicit none
    integer:: s, i
    s = 0
    i = 1
    do while(.true.) ! .true.一直满足所以这个地方不会导致循环退出
        s = s + i
        i = i + 1
        if(i>100)then !满足时退出
            exit
        endif
    enddo
    write(*,*)s
    read(*,*)
    end
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏

报告相同问题?

问题事件

  • 系统已结题 9月11日
  • 已采纳回答 9月3日
  • 修改了问题 9月2日
  • 修改了问题 9月2日
  • 展开全部

悬赏问题

  • ¥15 dev运行环境,c语言,报错是为什么?怎么改
  • ¥15 如何解决蓝牙通话音频突发失真问题
  • ¥15 安装opengauss数据库报错
  • ¥15 【急】在线问答CNC雕刻机的电子电路与编程
  • ¥60 在mc68335芯片上移植ucos ii 的成功工程文件
  • ¥15 笔记本外接显示器正常,但是笔记本屏幕黑屏
  • ¥15 Python pandas
  • ¥15 蓝牙硬件,可以用哪几种方法控制手机点击和滑动
  • ¥15 生物医学数据分析。基础课程就v经常唱课程舅成牛逼
  • ¥15 云环境云开发云函数对接微信商户中的分账功能