当前位置:文档之家› fortran语言复习总结

fortran语言复习总结


2 表控输入 READ 语句:
类似 cin>>
READ * ,变量 1,变量 2,„
表控输出 PRINT 语句: 类似 cout<<
PRINT * ,表达式 1,表达式 2,„
3 PARAMETER 语句:给常数命名 位于类型声明后,可执行语句前
PARAMETER(名称 1=表达式 1,名称 2=表达式 2,„)
输入:
↙。
输出:

第六章 选择结构 同 C++,只是除逻辑 IF 语句,其他都需要有 END IF 对应
1 逻辑 IF 语句
IF(<逻辑表达式 e>) <语句 S>
e 为逻辑表达式或关系表达式,S 为可执行语句。
2 基本块 IF 语句
(1)IF(<逻辑表达式 e>)THEN
[<THEN 语句体>]
END IF
5 两种书写格式:固定格式和自由格式
6 数据类型:有内部数据类型、派生数据类型、数组和指针类型等
预定义内部数据类型
INTEGER→int、
REAL→float/double、
COMPLEX、
CHARACTER→char、
LOGICAL→bool
第四章 表控输入输出
1 三种类型输入输出:表控格式、二进制形式(无格式)、有格式
式不正确会致错
输出:例: PRINT 10,i,j,k
10 FORMAT(1X,'i=',I4,3x,'j=',I4,3x,'k=',I4)
w>实际长度,前补空格。
w<实际长度,输出 w 个“*”。
m>实际长度,补前导 0 至 m 位,否则按照实际位数输出
3 小数型实数的有格式输入输出,F 编辑符:
1 计数型 DO 循环
类似 for(v=e1;v<=e2;v+=e3)
DO <v>=<e1>,<e2>[,<e3>]
<语句 1>
<语句 2>
„„
<语句 n>
ENDDO
v 为循环变量(一般为整型),e1 初值,e2 终值,e3 步长,缺省为 1
循环次数:[(e2-e1)/e3 ]+ 1
循环中可引用 v,但不能修改 v, 只可修改 e1,e2,e3,但不影响结果
CHARACTER*20 num
3)DIMENSION 属性:
<类型>,DIMENSION(<维说明表>)::<数组声明表>
::必须出现。
例:INTEGER,DIMENSION(-5:-1,5:9)::num,total
允许在数组声明表中对数组进行特定维说明。
例:INTEGER,DIMENSION(2)::t1,t2(10:15),t3(2,2)
输出:
w 用法同整数
d>实际长度,左对齐输出,后补 0。
d<实际长度,左对齐输出,小数部分四舍五入保留 d 位
4 指数型实数有格式输入输出,E 编辑符:
[r]Ew.d[Ee]
r 重复次数,w 域宽(含符号小数点和 E),d 小数位数,e 指数位数,缺省为 2(不含 E
和符号),缺省指数域宽为 e+2
(2)IF(<逻辑表达式 e>)THEN
[<THEN 语句体>]
[ELSE
[<ELSE 语句体>]]
END IF
3 多支块 IF 语句语法
IF(<逻辑表达式 e1>)THEN
[<语句体 1>]
ELSE IF(<逻辑表达式 e2>)THEN
[<语句体 2>]
ELSE IF(<逻辑表达式 e3>)THEN
允许从循环体内转移到循环体外,反之编译警告。
循环结束后,v 为最后一次循环增加步长后得到的值。
2 条件型 DO WHILE 循环
DO WHILE (<循环条件>)
<语句 1>
<语句 2>
„„
<语句 n>
ENDDO [<名字>]
强制终止循环:EXIT、CYCLE (但只能在 DO 和 DO WHILE 循环语句内使用)
DIMENSION <数组声明表>
DIMENSION num1(3),count1(-3:6,0:6)
数组类型由 I-N 规则确定。
类型可以通过类型声明语句改变,且声明语句可位于 DIMENSION 的前面或后面。
例: INTEGER day
DIMENSION num(3),day(12),count(-3:3)
数组构造器也可用于给数组片段赋初值
同 F,只是有效位数增加到 15 位
6 字符型 A 编辑符
[r]A[w]
缺省域宽 w 取对应字符型变量声明长度。
输入:输入中的引号、逗号和空格按一般字符对待
输出:
W<实际长度, 左截取
W>实际长度,左补空
可在输出数据中插入提示信息。
例: READ*, I,J
PRINT 25,I,J
25 FORMAT(1X,’I=‘,I3,’J=‘,I3)
第三章 基础知识 1 字符集 由四部分字符组成:
英文字母(不区分大小写)、阿拉伯数字、下划线、特殊字符(各种符号) 2 标识符 <字母>{<字母>∣<数字>∣“_”}(不区分大小写) 3 对关键字不予保留,但应避免使用关键字作为实体名称 4 语句:说明语句必须放在可执行语句之前
任何语句前可设置语句标号 3 个通用标志符:注释标志符“!” 语句分隔标志符“;” 续行标志符“&”
<数组初值>→(/<初值 1>,<初值 2>,„,<初值 n>/)
数组元素个数:从 1 开始到 n
区别于 C++的从 0 开始到 n-1
要求:上界≥下界,否则数组大小为 0。
数组和变量可同一语句混合声明. 例:INTEGER max,count(10)
数组声明语句必须出现在所有可执行语句之前
2)DIMENSION 语句
第一章 概述 FORTRAN:FORmula TRANslator 算法有五个基本特征:有穷性、确定性、必要的输入输出、可行性 评价算法质量的四个基本标准:正确性、可读性、通用性、高效率 程序设计方法:面向过程(模块化、结构化)、面向对象。 面向过程两大特征:使用三种基本控制结构;采用自顶向下和逐步求精方法 F90 采用模块化和结构化相结合的程序组织结构
例:Real pi; Parameter(pi=3.14)
第五章 有格式输入输出
1 输入输出形式
类似#define
1)语句标号指定 例:READ 100,M,N
100 FORMAT(I3,I3)
2)直接书写
例:READ “(I3,I3)”,M,N
3)数据源+标号 例:READ (*,100)M,N
2 数组声明:类型声明语句、DIMENSION 语句、DIMENSION 属性
1)类型声明语句
<类型> [::] <数组声明表>
<数组声明表>→<数组名>(<维说明表>)[=<数组初值>]
{,<数组名>(<维说明表>)[=<数组初值>]}
<维说明表>→<维说明符>{,<维说明符>}
<维说明符>→[<下界>:]<上界>
可以给数组赋初值。
例:INTEGER,DIMENSION(5):: S=(/45,78,85,55,95/)
3 数组引用
格式:<数组名>[(<数组下标>{,<数组下标>})]
<数组下标>→[<算术表达式>]:[<算术表达式>]
引用一个元素:下标为一个算术表达式。
引用部分元素(数组片断引用):下标为:号间隔的两个算术表达式。
[r]Fw.d
r 重复次数,w 域宽(含符号和小数点),d 小数位数。
程序示例:
REAL a,b,c
READ 10,a, b, c
10 FORMAT(2F5.2,F8.3)
PRINT"(1X,'a+b+c=',F8.3)",a+b+c
END
输入:
不带小数点时,按域宽读取,根据 d 值自动加小数点。
带小数点,按域宽读取,自带小数点优先
END
7 X 编辑符:用于设置输入输出数据的起始位置。
nX
输入:从当前位置右移 n 个字符。
输出:从当前位置插入 n 空格。
例: READ 11,i,j,k
11 FORMAT(2X,I3,3X,I3,3X,I3)
PRINT 21,i,j,k
21 FORMAT(1X,'i=',I3,4X,'j=',I3,4X,'k=',I3)
[<语句体 3>]
„„
ELSE IF(<逻辑表达式 en>)THEN
[<语句体 n>]
[ELSE
[<语句体 n+1>]]
END IF
内外转移的情况:
不允许从块 IF 语句外控制转移到块 IF 语句体内,
相关主题