2.2 IF分支结构.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.2 IF分支结构 2.2 IF分支结构 2-1 基本程序结构 2.2 IF分支结构 2.2 IF分支结构 2.2 IF分支结构 IF(逻辑判断式) THEN … … … END IF 逻辑成立时,才会执行这里的程序代码 IF基本用法 单句执行命令时,可写为: If(speed100.) write(*,*) “Slow down” IF(逻辑判断式) THEN … … … ELSE … … … END IF 逻辑成立,执行这一块代码 逻辑不成立,执行这一块代码 双分支条件 模块内的执行语句后缩, 便于阅读和分辨 FORTRAN90 FORTRAN77 == 判断是否“相等” .EQ. /= 判断是否“不相等” .NE. 判断是否“大于” .GT. = 判断是否“大于或等于” .GE. 判断是否“小于” .LT. = 判断是否“小于或等于” . LE. 逻辑运算符号:两个数值的比较 大部分FORTRAN 77也 可以接受数学表到式 逻辑运算符号 功能 .AND. 交集,如果两边表达式成立,整个表达式成立 .OR. 并集,两边的表达式只要一个成立,整个表达式成立 .NOT. 逻辑反向,如果后面的表达式不成立,整个表达式成立 .EQV. 两边的表达式逻辑运算结果相同,整个表达式成立 .NEQV. 两边的表达式逻辑运算结果不相同,整个表达式成立 逻辑表达式之间的关系运算,集合运算符号 运算优先级低于大于小于和等式的运算符号 如:80 a90 OR “或者”,只要一边成立即为真 【.NOT.】 只跟一个表达式在后面,把原本的逻辑结果取反 (.not. 35) !35 不成立,经过.not.取反为‘真’ (.not. 12) !12成立,取反后为‘F’ 【.EQV.】 (13 .EQV. 23) !两边都不成立,表达式为真 (13 .EQV. 23) !两边结果不同,表达式为假 逻辑A 逻辑B A .EQV. B TRUE TRUE TRUE TRUE FALSE FALSE FALSE TRUE FALSE FALSE FALSE TRUE 【.NEQV.】 (13 .NEQV. 23) !两边都不成立,表达式为假 (13 .NEQV. 23) !两边结果不同,表达式为真 逻辑A 逻辑B A .NEQV. B TRUE TRUE FALSE TRUE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE 运算类别 运算符 优先级 括号 ( ) 1 算术运算符 ** *, / +, - 2 3 4 关系运算 .GT. , .GE., .LT., .LE. ,.EQ. , .NE. 5 集合逻辑运算 .NOT. .AND. .OR. .EQV., .NEQV. 6 7 8 9 各种运算符的优先级 A+C=6.0; B+D=5.5 A =0.0为T; A+CB+D为F .NOT. .TRUE. 为’F’ 执行.AND., .TRUE. .AND. .FALSE.为F 执行.OR., 结果为F 例:设A=3.5, B=5.0, C=2.5, D=0.5,求表达式结果: A=0.0 .AND. A+C B+D .OR. .NOT. .TRUE. If 的括号中可以直接是一个逻辑值,逻辑变量可以通过逻辑运算赋值 IF…ELSE IF结构 可以一次列出多个条件判断及相应的多个程序模块,但是其中最多只有一个条件成立,并执行相应条件条件下的程序模块 一个条件有多个值时怎么办? 各判断条件如果重复,则会以最前面的模块被执行 IF…ELSE IF语法格式 IF(条件1) THEN ...... !条件1成立时执行本模块代码 ELSE IF(条件2) THEN ...... !条件2成立时执行本模块代码 ELSE IF(条件3) THEN ...... !条件3成立时执行本模块代码 ELSE IF(条件4) THEN ...... !条件4成立时执行本模块代码 ...... ELSE IF(条件N) THEN ...... !条件N成立时执行本模块代码 ELSE !此模块可省略 ...... !以上条件都不成立时执行本模块代码 END IF 例:判断某同学的成绩等级,90~100为A;80~89、70~79、60~69及60分以下分别为B、C、D、E 从第一判断开始, 只会执行其中的一个 满足条件下的模块, 执行后会跳到end if 注意写判断条件 时,从端点条

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档