for90 第4章.ppt
《for90 第4章.ppt》由会员分享,可在线阅读,更多相关《for90 第4章.ppt(52页珍藏版)》请在三一文库上搜索。
1、1,4.1关系表达式与逻辑表达式,4.2 IF语句,4.3 IF结构,4.4 CASE结构,4.5 程序举例,第四章 选择结构程序设计,2, 4.1 关系表达式与逻辑表达式,一般形式: 算术表达式e1 关系运算符 算术表达式e2 或: 字符表达式e1 关系运算符 字符表达式e2 关系运算符6个: 、 =、 、 =、 =、 /=(常用),4.1.1 关系表达式,3,运算对象: 关系运算符两边都必须是相同类型的表达式,如:同为算术表达式或字符表达式 各种关系运算符均可对整型、实型和字符型运算 复型:只能进行 =、/=。不能比较大小 实型量=或/=要小心使用 一般写:A=B 改写为ABS(A-B)=
2、1E-6,4,关系表达式的值为逻辑型, print *,3*52*6 :T print *,“abcd“=“ABCD“ :F print *,“hhux“河海大学“ :T print *,“xy“=“xy “ :T 不允许算术表达式与字符表达式比较 错例:2A,,5,运算规则: 先计算表达式e1、e2 的值, 再比较,若是算术表达式其类型不一致,则先按低级向高级转换规律自动 转换成同一类型再比较, 成立:.TRUE. ; 不成立:.FALSE. 例 a*bc*d 等价于 (a*b)(c*d),6,1、逻辑常数 .TRUE. .FALSE. 2、逻辑变量 LOGICAL(KIND=2),DIME
3、SION(1:5):L,4.1.2 逻辑表达式与逻辑赋值,7,3、逻辑表达式 由逻辑操作数和逻辑运算符组成的式子,主要用于选择结构的条件判断。 逻辑操作数: 逻辑常量、逻辑变量、关系表达式和逻辑表达式,8,逻辑运算符有5个 .NOT. A:逻辑非,求反运算, A .AND. B:逻辑与, A与B同时为真,表达式值才为真 A .OR. B:逻辑或 ,A与B有一个为真,表达式值就为真 A .EQV. B:逻辑等 ,A与B值相等,表达式值为真 A .NEQV. B:逻辑不等,A与B值不相等,表达式值为真,9,五种逻辑运算符的运算表 A B .NOT.A A.AND.B A.OR. B A.EQV.
4、B A .NEQV. B 真 真 假 真 真 真 假 真 假 假 假 真 假 真 假 真 真 假 真 假 真 假 假 真 假 假 真 假,10,NOT为单目运算符,位于操作数之前; 逻辑运算符的两边,必须是返回值为逻辑型的表达式 逻辑运算符及优先级、运算法则 .NOT.、.AND.、.OR.、 .EQV.、.NEQV. 高 低 .EQV.、.NEQV.为同一级,11,逻辑表达式: 用逻辑运算符将若干个逻辑量相连 注意运算对象为逻辑量 逻辑量即值为.TRUE.或.FALSE.的量: 逻辑常量、逻辑变量、 逻辑函数、关系表达式 例:AB+D .OR. .NOT. .TRUE. 注意运算符的运算对象
5、:均为逻辑量,12,显然,一个逻辑表达式可包括关系表达式,而关系表达式中又可包括算术表达式;因此,在逻辑表达式中不仅包括若干个逻辑运算符,还可以包括多个关系运算符以及各种算术运算符号,圆括号,函数等。 在逻辑表达式中,各种运算符的优先顺序见下页表,13,运算符的优先级,类型 运算符 优先级 括号 ( ) 1 算术运算 * 2 *, / 3 +, - 4 关系运算 ,=,=,=,/= 5 逻辑运算 .NOT. 6 .AND. 7 .OR. 8 .EQV.,.NEQV. 9,14,逻辑赋值: 一般形式: V=e 其中:V可以是逻辑型变量、数组元素、数组、数组片断等,e是逻辑表达式 例: A=XY
6、F=.TRUE. C=9+X10 .AND. .TRUE.,15,练习1: 练习表达式的写法 1、数学式 ABCD 2、1x2+y22 3、M能被N整除 4、整数A、B之一为0 但不同时为0 5、A、B同时为正,或同时为负 6、逻辑型变量a的值为真(或为假),1、ab .and. bc .and. cd,2、x*x+y*y1 .and. x*x+y*y2,3、mod(m,n)=0,4、a*b=0 .and. a/=b,5、a*b0,6、a,4、A=0 .NEQV. B=0,16,1、表控格式I/O 须先定义数据类型,再I/O EXP: LOGICAL: L1,L2 READ (*,*)L1,L
7、2 WRITE(*,*) L1,L2 输入时:.TRUE., .FALSE. 或: T,F 输出: T F !仅输出一个字符,T 或 F,左右没有点“.”,字段宽度由具体的计算机系统规定,4.1.3 逻辑型数据I/O,输入的第一个字符为T则,值为真,输入的第一个字符为F则,值为假,17,2、格式I/O EXP: LOGICAL:L1,L2 READ (2L2),L1,L2 PRINT (1X,L4,2X,L4),L1,L2 运行时输入: TF 输出: TF,L2表示逻辑I/O, 字段宽度为2,4.1.3 逻辑型数据I/O,18,4.2 IF语句,三种基本程序结构: 顺序结构、 选择结构、(条件
8、判断) 循环结构 (反复执行某段程序),19,一、语句形式 IF (逻辑表达式e) 可执行语句(S) 例: IF(x0) PRINT *,X 二、语句执行过程 条件为.T. 执行(S) 条件为.F. 执行IF后续语句,4.2 IF语句,使用范围:特殊单分支,20,三、对可执行语句(S)的限制,1、只能是一条语句,不能有多条语句 2、不能是循环语句 3、不能是另一IF语句 4、不能是停止类语句如:STOP、END 错例:IF(X2)END 5、不能是IF结构,4.2 IF语句,21,4.2 IF语句,执行过程: 计算条件表达式的值 真 右边语句 IF的下一个语句 假 IF的下一个语句 不论条件真
9、假都执行IF的下一个语句 简单的条件赋值,条件转移(在循环结构中),22,4.2 IF语句,阅读程序,写出结果 例1: x=5 IF(x2) y=1.0 IF(x6) y=3.0 IF (x3) y= -1.0 PRINT*,Y,例2: IF (X=0) Y=0 Y=1 PRINT*,Y END,注意:语句顺序的改变对结果的影响,23,补充例4-1从键盘输入A、B、C,打印最大值。 分析方法: 1. 输入A、B、C 2. 假定最大值的初值 3. B与最大值比 4. C与最大值比 5. 输出最大值,PROGRAM exam4_3 IMPLICIT NONE INTEGER:A,B,C,MAX R
10、EAD *,A,B,C MAX=A IF (MAXB) MAX=B IF (MAXC) MAX=C PRINT *,“MAX=“,MAX END PROGRAM,24,例4-4:将百分制转换成等级制,根据成绩x输出 A: x=85 B: 70=x85 C: 60=x70 D: x60,PROGRAM EXAM4_4 IMPLICIT NONE INTEGER:X READ *,X IF(X=85) PRINT *,“A“ IF(X=70 .AND. X=60 .AND. X70) PRINT *,“C“ IF(X60) PRINT *,“D“ END,25,块IF结构有三种形式: 1. IF
11、(条件) THEN 块IF语句 语句块 IF块 END IF END IF语句 单边选择结构.,4.3 IF结构,由若干语句组成,26,2.双边选择结构 IF (条件) THEN 块IF语句 语句块1 IF块 条件? ELSE ELSE语句 Y N 语句块2 ELSE块 语句块1 语句块2 END IF END IF语句,27,3.多分支选择结构,条件1满足 否则,若条件2满足 否则,若条件3满足 否则 执行块1 执行块2 执行块3 执行块4,一般形式: ELSE IF (条件) THEN ELSE IF语句 语句块 ELSE IF块(由若干语句组成) 说明: ELSE IF 语句不要求相配对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- for90 第4章
链接地址:https://www.31doc.com/p-3044688.html