Fortran 笔记
原文链接:https://blog.csdn.net/Trisyp/article/details/50607422
最早的高级语言大约诞生于1945年,是德国人楚译为他的Z-4计算机设计的Plan Calcul,比第一台电子计算机还早几个月;在电子计算机上实现的第一个高级语言是美国尤尼法克公司于1952年研制成功的ShortCode;
而真正得到推广使用,至今仍在流行的第一个高级语言是美国的计算机科学家巴科斯设计,并于1956年首先在IBM公司的计算机上实现的FORTRAN语言。
数值型数据的表示及存储
整数型、实数型、复数型
非数值型数据的表示及存储
字符型、逻辑型
常量
整型、实型、复型、字符型、逻辑型常量(.true.和.false.)、符号(parameter(标识符=常量,...))
变量
声明变量的数据类型(先声明,后使用)
integer i,j,k real a,b complex m character* 8 c integer(2):: a=1,b
变量初始化
integer a a=20 !或者: integer:: a=20 !或者: real a,b,c data a,b,c/1,2,3/ real m,n,k data m,n,k/3*5/ !值都是5
算术运算符、算术表达式
标准函数,Fortran95提供了130多个标准函数
abs(x)
int(x) !向0取整
nint(x) !四舍五入取整
cos(x);sin(x);tan(x);acos(x);asin(x);atan(x) !三角函数的自变量单位是弧度
log(x) !自然对数
log10(x) !常用对数
esp(x)
sqrt(x)
mod(x,y)
max(x1,x2,...)
min(x1,x2,...)
sign(x,y) !求x的绝对值乘y的符号
huge(x) !x所属类型的最大值
tiny(x) !x所属类型的最小值
len(s) !字符串s的长度
sizeof(x) !x的存储字节数
char(n) !将ASCII代码n转换为对应的字符
ichar(c) !将字符c转换为对应的ASCII码
赋值语句
与赋值号左边的数据类型一致
输入和输出语句
表控输出输入:
print*, !*表示从系统隐含指定的输出设备上,按系统隐含规定的格式输出
read*, !*表示从系统隐含指定的输入设备上按系统隐含规定的格式输入
read(*,*) !第一个*表示系统隐含指定的输入设备,第二个*表示表控输入
格式化输出输入
print 语句标号,输出项
语句标号 format(格式说明)
write 语句标号,输出项
语句标号 format(格式说明)
read 语句标号,输出项
语句标号 format(格式说明)
格式说明:
i编辑符:用于整型数据
f编辑符:用于小数形式的实型数据
e编辑符:用于指数形式的实型数据
l编辑符:用于逻辑型数据
a编辑符:用于字符型数据
x编辑符:用于在输出项之间插入空格
斜杠(/)编辑符:用于换行
end语句,stop语句和pause语句
程序举例:
1.计算三角形的面积
real x,y,z,c,s read *,x,y,z c=(x+y+z)/2 s=sqrt(c*(c-x)*(c-y)*(c-z)) print*,"三角形面积:",s end
2.将两个变量的值互换
integer a,b read*,a,b print*,"交换前a和b的值分别为:","a=",a," b=",b t=a;a=b;b=t print*,"交换后:","a=",a," b=",b end
3.输出一个三位数,然后输出每位位数的平方值
integer a,b integer i,j,k,n read*,a,b read*,n print*,"交换前a和b的值分别为:","a=",a," b=",b t=a;a=b;b=t print*,"交换后:","a=",a," b=",b print*,"原来的三位数为:",n i=mod(n,10) j=mod(n/10,10) k=n/100 print*,"个位数的平方:",i**2 print*,"十位数的平方:",j**2 print*,"百位数的平方:",k**2 print*,IA end