字符型编辑A
A用来编辑字符型变量,它不关心该字符串的长短如何。例: CHARATER*5 A,B,C
READ(*,’(A,A,A)’)A,B,C WRITE(*,’(A,2X,A,2X,A)’)A,B,C END 输入:ABC□DBASICFORMAT 结果:ABC□D□□BASIC□□FORMA
!!! 2X表示□□ X编辑描述符
功能1:在输出时产生空格,它的一般形式为:
nX
关系表达式与逻辑表达式
关系运算符:
> 、 >=、 <、 <=、 ==(等于)、 /=(不等于) (常用) .GT.、.GE.、.LT.、.LE.、.EQ.、.NE. 注意
1、每个关系表达式中的关系运算符只准出现1次,运算符两侧都是表达式; 错例:2 关系运算符两边的运算对象类型应相容: 错例:A= =.TRUE. 2<‘A’ 复型:只能进行 = =、/=。不能比较大小 字符型:可以进行各种关系运算 逻辑运算符(5个) .NOT. a:求反运算, a.AND.b:a与b同时为真,表达式值才为真 a.OR.b: a与b有一个为真,表达式值就为真 a.EQV.b: a与b值相等,表达式值为真 a.NEQV.b: a与b值不相等,表达式值为真 类型 括号 算术运算 关系运算 逻辑运算 运算符 优先级 ( ) 1 ** 2 *, / 3 +, - 4 >,>=,<,<=,==,/= 5 .NOT. 6 .AND. 7 .OR. 8 .EQV.,.NEQV. 9 IF语句 使用范围:特殊单分支 语句写法: IF(条件) 一条语句 例:IF (X>0) PRINT*,X 执行过程: 1、计算条件表达式的值 2、真 右边语句 IF的下一个语句 3、假 IF的下一个语句 注意: 1.右边通常为一条且只一条可执行语句。 错例:IF (A END、另一个逻辑IF、 块IF、ELSIF、ENDIF、DO 错例:IF(X<2)END 3.常应用于简单的条件赋值或条件转移(在循环结构中) 4、不论条件真假都执行IF的下一个语句 IF结构 使用范围:二分支结构 书写格式: IF(条件)THEN ! 块IF语句 语句体1(then块) ! 由若干语句组成 ELSE ! ELSE语句 语句体2(else块) !由若干语句组成 ENDIF ! ENDIF语句 IF结构执行过程: 计算条件的值 真 THEN块 ENDIF的下一个语句 假 ELSE块 ENDIF的下一个语句 注意: 1. IF—then标记语句的开始,ENDIF 与之匹配,标记语句块结束 2.条件表达式写法 IF结构的缺省形式: 缺省ELSE块: IF(lexp)THEN 语句体1 ENDIF 缺省THEN块: IF(lexp)THEN ELSE 语句体2 ENDIF 多分支结构 方法1:转化为单分支,逻辑IF语句并列 方法2:逐次二分,转化为块IF结构嵌套 嵌套过多容易出错,也不易维护,因此应尽量减少嵌套的层次; 方法是把条件分细,列成多条ELSEIF语句,ELSEIF结构为: Elseif 结构: IF(e1)THEN block1 ELSEIF(e2)then block2 ELSEIF(e3)then block3 -------- ELSE block n ENDIF IF结构的取名 IF结构可:无名或有名 IF结构的取名与变量的取名方法相同 IF结构名:IF (e1) THEN 块1 ELSEIF (e2) THEN [IF结构名] 块2 ? ELSEIF(en) THEN [IF结构名] 块n ELSE [IF结构名] 块n+1 END IF IF结构名 同一IF结构中的结构名一定要一致! CASE结构 使用范围:多分支结构 SELECT CASE(情况表达式) CASE(情况选择器1) block1(块1) CASE(情况选择器2) block(块2) -------- CASE(情况选择器n) block n [CASE DEFAULT 默认块] END SELECT 执行过程: 1. 计算情况表达式的值 2. 顺序匹配各情况选择器,执行相应的block1,再到 END Select下一个语句 3. 如果均不匹配,则执行默认块 4. 执行 END Select的下一个语句 情况表达式: 整型变量、逻辑变量、字符型变量或相应的表达式 不能是实型或复型表达式 表达式列表(情况选择器): 只能是常量,不能为变量,可有多条语句; 类型与情况表达式类型应一致,尤其字符型时种别参数必须一致,但长度可以不同; ,(逗号)分隔符表示分隔单个值的列表。 例: case(3,5,7)值不能重复 :(冒号)分隔符表示值的范围,连续的值 例: case(5:10); case(‘i’:‘n’) 下界、上界可省略 Case default:最多出现一次 例4-8 输入一个数,判断能否被3整除,打印相关信息 注意输出的格式为(*,(’I6,2X,A)’) PROGRAM MAINIMPLICIT NONEINTEGER::N,MREAD *,NM=MOD(N,3)SELECT CASE(M)CASE (0)WRITE(*,'(I6,2X,A)')N,\EXACTLY BY 3.\CASE DEFAULTWRITE(*,'(I6,2X,A)')N,\EXACTLY BY 3.\END SELECTEND PROGRAM 循环结构程序设计 循环的分类: 1、已知循环次数 2、已知循环条件 循环的表示及适用范围: 循环均由Do结构表示,其Do结构共有三种形式: 1.不带循环变量的DO结构 2.带循环变量的DO结构 3.Do WHILE循环结构 不带循环变量的DO结构 一般形式 [结构名:]DO !循环开始语句 循环体 !循环体 ENDDO [结构名] !循环结束语句 说明: 1、结构名可以省略,多层嵌套时,为使结构清晰才用; 2、循环体可以为0~n条语句或结构,包含以下语句: 重复语句,循环变量的变化,循环控制语句等; 3、DO 循环入口语句,只能从该语句进入循环; 4、ENDDO 循环终止语句,可以不经过该语句退出循环 使用范围: 循环次数未知,仅给定了循环终止条件 无循环变量的DO结构执行过程: 进入DO结构后,从DO语句下面第一句执行起顺次执行到END DO前的最后一句, 再返上来从DO语句下面第一句执行起,重复执行整个DO块。 对于不带控制变量的DO结构,DO块中必须有EXIT语句,使它停止循环,退出循环,转向执行END DO下面的语句。 EXIT和CYCLE语句 EXIT语句 循环出口语句,一般形式为: EXIT 作用:停止循环,将控制转移到当前循环(或指定do结构)之外。 一般用法 IF (逻辑表达式) EXIT [DO结构名] CYCLE语句 短路语句,一般形式为: CYCLE [DO结构名] 作用:在循环执行到该语句时,跳过循环体在它后面的那些语句。再从循环体的第一条语句开始执行。 一般用法: IF (逻辑表达式) CYCLE [DO结构名] 带循环变量的DO结构 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库fortran90 知识点整理(2)在线全文阅读。
相关推荐: