当前位置:首页 > Fortran语言基础 - 图文
山东建筑大学
注意:Fortran是不区分大小写的语言。所以,INTEGER, Integer, inteGER是相同的命令。
1.2 数据类型
整数(INTEGER):整数又可以分为长整型与短整型。在个人计算机中长整型占用32 bits(4 bytes)的空间,长整型可以保存的数值范围在-2147483648~+2147483647(也就是-231+1~231)之间;短整型占用16 bits (2 bytes)的空间,保存数值的范围在-32768~+32767之间。
浮点数(REAL):浮点数有两种类型:单精度和双精度。
单精度浮点数占用32 bits的空间,有效位数为6~7位。可记录的最大数值为?3.4?1038,最小数值为?1.18?10?38。
双精度浮点数占用64 bits,有效位数为15~16位。可记录的最大数值为
?1.79?10308,最小数值为?2.23?10?308。
复数(COMPLEX):单精度和双精度。以a?bi表示的复数,其中a,b是由两个浮点数来记录的。
字符型(CHARACTER):计算机除了记录数之外,可以记录一段文本或称作字符串。记录一个字符需要一个字节。
逻辑型(LOGICAL):只有两种结果:真(TRUE)和假(FALSE)。在二进制中,通常以1代表真,0代表假。
使用Fortran编写程序,必须事先声明数据类型。不同数据类型必须经过转换才能互通。
1.3 数学表达式
Fortran使用的数学运算符号,根据运算优先级顺序排列如下: + 加法 - 减法 * 乘法 / 除法 ** 乘幂(乘方) ( ) 括号
越是下面的运算符号,运算的优先级越高。 Fortran的数学表达式和手写的差别主要有三点: (1) 乘幂要连用两个星号**, 例如43必须写成4**3;
9
数值分析程序设计——Fortran基础
(2) 乘号不能省略,2a应当写作2*a; (3) 除法算式
(a?b)(c?d)应当写作((a+b)*(c+d))/(2*(e+f));
2(e?f)1.4 变量命名
在Fortran中,变量命名要注意一些原则:
(1) 变量的名称以使用英文字母为主,可以含有下划线或数字,但前缀
必须是英文字母;
(2) 变量名的长度最多31个字符;
(3) 变量名不要与Fortran的命令名相同,也不要与程序名相同; (4) 程序中变量名不区分大小写。
1.5 Fortran程序结构
程序开始 PROGRAM MAIN ………………… 主程序代码 WRITE(*,*) “Hello” ………………… 程序结束 STOP 主程序代码结束 END
例如:
program main write(*,*) \stop end
作业:
1、变量命名有哪些要求? 2、变量的类型有哪些?
10
山东建筑大学
2 输入输出及声明
WRITE命令
语法:WRITE(UNIT, FMT)
注释:屏幕输出。UNIT输出位置 FMT输出格式。默认格式WRITE(*,*)。默认输出格式unit=6,也就是屏幕输出。
program main write(*,*) \stop
end program main
其他的输出格式参考Fortran的帮助。
PRINT命令
program main print *,\stop
end program main
Print的用法和write大致相同,只是print后面不适用括号,而且只有一个星号。这个星号的意义是不限定输出格式。
声明
所谓声明是指:在程序代码中,程序员向编译器要求预留一些存放数据的
内存空间。看一个例子:
program ex0404 integer a
a=3
write(*,*) \stop end
11
数值分析程序设计——Fortran基础
integer a声明变量为整型。编写程序时,应当根据变量的类型选择适当的数据类型,数据类型选用不当,可能造成错误。这种错误有时是编译器无法察觉的。
2.3.1 整数类型(INTEGER) 语法:integer(kind=n) a
注释:kind的值决定整型数据类型。kind=2短整型,kind=4长整型。默认为长整型。
Integer a A=1.5
最终的结果为a=1,这是因为a为整型,会把小数部分无条件舍去。 2.3.2 浮点数(REAL) 语法:real(kind=n) a
注释:kind的值决定浮点数的精度类型。kind=4单精度浮点数(有效数字位数6~7位),kind=8双精度浮点数(有效数字位数15位)。默认为单精度浮点数。
超大数值的设置: 单精度浮点数:1.23E20 双精度浮点数:1.232365D10
计算机在进行浮点数计算时,需要对位,由于有效数位的限制,可能造成大数吃小数的情况。 2.3.3 复数(COMPLEX)
语法:complex(kind=n) a
a=(x,y)
注释:kind的值决定浮点数的精度类型。kind=4单精度浮点数(有效数字位数6~7位),kind=8双精度浮点数(有效数字位数15位)。默认为单精度浮点数。
2.3.4 字符及字符串(CHARACTER)
语法:character(len=n) a
注释:len决定字符串的长度。字符串赋值由双引号定义
12
共分享92篇相关文档