文档介绍:第三章选择结构程序设计
11/11/2017
1
课前思考
对于条件语句,fortran中提供了几种形式?
每种形式各适用于什么场合?
每种形式的注意事项是什么?
编写程序时应考虑哪些问题?
第三章选择结构程序设计
逻辑if语句
块if结构
选择结构的嵌套
用else if语句实现多路分支
块分支选择结构
程序举例
11/11/2017
3
关系表达式
格式:<算术量> <关系运算符> <算术量>
关系运算符
.GT.(> 大于); .LT.(< 小于); .EQ.(== 等于);
.NE.(/= 不等于); .GE.(>= 大于或等于);
.LE.(<= 小于或等于)
.
注意
两边的小数点不能漏
实数存在误差,. . 时要特别注意
一个算术型量的两侧不允许都是关系运算符
逻辑表达式
格式: <逻辑型量> <逻辑运算符> <逻辑型量>
逻辑运算符
.AND.
.
.
含义
运算顺序
.NOT.→.AND.→.OR.→.EQV. .NEQV. .XOR.
逻辑表达式中,各种运算符的优先顺序:
注意
不同运算符的运算对象和运算结果
一个逻辑型量的两侧都可以与逻辑运算符相邻,但不能与算术运算符、关系运算符相邻
不能在算术量的两侧都出现关系运算符
一定要注意运算顺序
逻辑IF语句
一般形式:if (逻辑表达式) 内嵌语句
执行过程:
,执行内嵌语句,然后执行后面的语句
,直接执行后面的语句
适用范围:只关心一种条件时,仅执行一个处理的简单情况
注意问题:
逻辑if语句中的逻辑表达式一定要用一对圆括号括起来;
逻辑if语句中的内嵌语句只能是单个的可执行语句,即内嵌语句不能是非执行语句,也不能有多于一个可执行语句;
在使用逻辑if语句时,一定要注意逻辑表达式的正确写法,特别是在使用多个逻辑if语句时更要注意。
输入三个数,求出最大和最小的值。
real x,y,z,max,min
read * ,x,y,z
max=x
min=x
if (max<y) max=y
if (max<z) max=z
print *, "三个数中最大数是", max
if (min>y) min=y
if (min>z) min=z
print *, “三个数中最小数是", min
end
块IF结构
逻辑if语句的局限性
只允许有一个语句,多个语句无法实现
实现多个分支时,如用多个逻辑if语句实现,则每一个逻辑if语句中的逻辑表达式比较复杂
块if结构的一般形式
If (逻辑表达式) then
S1
else
S2
endif
逻辑表达式必须用一对圆括号括起来
S1、S2可由若干个可执行语句组成,但一行上只能写一个语句,语句太长时可以使用继续行
else语句必须单独占一行
end if语句必须单独占一行,表示块if结构结束
if语句与end if语句是必须的,而then、else语句可根据实际情况省略
注意问题