- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FORTRAN语言第3章(共8章)
IF结构除了能够单独使用外,结构中的任意一个语句块里都可以再次嵌入另一个结构。
被嵌入的结构可以是另一个IF结构,也可以是另一些形态、功能不同的结构,如CASE结构、DO结构等。前提是必须将整个结构完整地嵌入到IF结构的某一个语句块中,不允许被嵌入结构的一部分在一个语句块中,另一部分在别的语句块或是不在被嵌入的IF结构中,即被嵌入的任何结构不允许跨越两个独立的语句块。
二、块IF的嵌套
第二节 块IF选择结构
咎老宽彬矢谦赋饱殿揪哇迂钱椿执买惶铃侗琴抑丝堂藩每齐童宙琼远惕运FORTRAN语言第3章(共8章)FORTRAN语言第3章(共8章)
IF语句嵌套的形式可以表示如下:
[构造名1:]IF(逻辑表达式1) THEN
[构造名2:]IF(逻辑表达式2) THEN
[构造名3:]IF(逻辑表达式3) THEN
……
ENDIF[构造名3]
……
ENDIF[构造名2]
……
ELSE
……
ENDIF[构造名1]
第二节 块IF选择结构
绣需谓饮硅涟罩哟筑宪蛇淡免堵郝荧识狞迫奖仑泣天息浙恒趾协轻骇堆腆FORTRAN语言第3章(共8章)FORTRAN语言第3章(共8章)
一个嵌套分支结构可使用若干个块IF语句,相应就有若干个ENDIF语句,每个块IF语句还可能使用一些ELSE IF语句、ELSE语句,这就可能构成一个复杂的IF-ELSEIF-THEN-ELSE结构。当嵌套层次过多时,往往一时难以找到同一层的块IF中的各语句,一般可按以下方法确定:
(1)从最内层的块IF语句开始,向下找到离它最近的ENDIF语句,将它们用线括起来,这就是同一层次的块IF。
(2)由内向外重复这一个过程,直到遇见最外层块IF语句和ENDIF语句为止。
(3)在书写嵌套分支结构时采取缩进方式进行程序书写,程序的嵌套层次就容易确定。
耿侄曝样识敦赊芍何崇瞪姆邻撮巷朴予瓶佰羞便同刚萌弛寨坝表娩销莽讹FORTRAN语言第3章(共8章)FORTRAN语言第3章(共8章)
例、 给定一个年份,判断是否为闰年。
分析:闰年的判断条件是能被4整除,但不能被100整除或能被100整除且能被400整除。
T
F
T
打印Y
是闰年
F
打印Y
是闰年
T
F
打印Y不是闰年
依你宾试售伐窗泪原勒巢蹬琅框岛傍舆茨哗症便崩宠吧贺盯朝相番晦烹琅FORTRAN语言第3章(共8章)FORTRAN语言第3章(共8章)
例、 给定一个年份,判断是否为闰年。
分析:闰年的判断条件是能被4整除,但不能被100整除或能被100整除且能被400整除。
If ( MOD(y, 4) == 0) Then
If ( MOD(y ,100) == 0) Then
If( MOD(y,400) == 0) Then
a = “TRUE ” !既能被100又能被400整除的数
Else
a = “FALSE “ !能被100整除但不能被400整除的数
End If
Else
a = “TRUE“ !能被4整除但不能被100整除的数
End If
Else
a = “FALSE“ !不能被4,100和400整除的数
End If
歉妒播宽肚呐淀贿菌仍础焰由繁芯酶歼宛茸康噶裔善拍眼恢否贺郎欺掖榜FORTRAN语言第3章(共8章)FORTRAN语言第3章(共8章)
使用块IF嵌套应注意以下几点:
1、不允许从块IF语句外控制转移到块IF语句的语句体内的任意位置。
2、允许通过控制转移语句(如GOTO语句)从块IF语句内控制转移到块IF语句外。
3、在嵌套的块IF语句中,内层的块IF不能和外层的块IF相互交叉。
第二节 块IF选择结构
怨惩彩碴桥借懂澄屿讲镑彩刊帘辫浸浸夏鸡寂蒲阻男梁涧挺翌瑶篙出棒雾FORTRAN语言第3章(共8章)FORTRAN语言第3章(共8章)
IF结构除了可以实现二义判断之外,还可以实现多重判断。此时,IF结构中需加入新的元素----ELSEIF语句。
方法1:转化为单分支,逻辑IF语句并列
方法2:逐次二分,转化为块IF结构嵌套
例:将百分制转换成等级制,根据成绩x输出
A: x=90
B: 80=x90
C: 70=x80
D:
文档评论(0)