1.建议程序总体格式:
1 program ex1.1 2 ... 3 end progr
2.想要打出 My name is "xdd".
write(*,*)" My name is "xdd"."
3.声明类型 标识符 字符串处理
- 默认为长整形 单精度浮点数(kind=4)
- Fortran中不区分大小写,所以变量名A、a表示同一变量
- 返回字符串长度:len(str)
- 返回字符串去处空格后的长度:trim(str)
- 连接两个字符串:c=str1//str2 !使用两个/即可连接字符串
- index(str1,str2) !返回str2在str1中首次出现的位置
1 integer a 或 integer::a 2 real b 或 real::b 3 real(kind=8) c 或 real(kind=8)::c
4 complex a 或 complex::a 或 complex(kind=8)::a
5 a=(1.0,2.0) !a=1+2
6 character ::a (a是一个字符) 或 character(len=10)::a 或 character(10)::a !所有::均可省略
7 a="xieshg" !fortran90 对于字符串,单双引号均可
8 logical::a
9 a=.true. !注意有两个点
4.输入输出(write,read)
-
如用format,一定要放好位置
program ex integer::a real::b a=100 write(*,100) a write(*,200) b 100 format (I4) !用4列显示整数a 200 format(F10.6) !输出数据占10列,小数部分占6列 end program !write(*,"(1X,I5)") a
!write(*,"3(1X,I5)") a,b,c
!write(*,"(I5)") b
!write(*,"(A5)") str !以5个字符宽度输出字符串
!write(*,"(E10.6)") a !以指数格式输出,一共占10位,小数部分占6位
/ !换行
program ex0622 character(len=80) str read(*,"(A80)"),str !有长度这样可以避免逗号使机器读取数据结束 write(*,"(A80)"),str end program
5.变量先声明后使用,虽然麻烦一些,但可避免许多错误,尤其是输入错误,而且还不会报错!所以取消默认很重要。
implicit none !关闭默认类型功能,所有变量的使用都要事先定义
- 声明常量,能减少编写错误的机会,增加计算机执行速度
- 变量赋初值时冒号也不能省略
- Fortran77赋初值时,只能用DATA
- 所有的变量声明都要在执行语句的前面,一旦开始执行就不能再有声明
real,parameter::pi=3.1415926 !此处冒号不能省略
real::c=2.1 !此处冒号不能省略
!Fortran77
integer a
real b
complex c
character(len=10) d
data a,b c d /1,2.0,(1.0,2.0),'xiedd'/ !Fortran77字符串要用单引号
6.变量类型自定义(a%name) 见《Fortran 95 程序设计》P65 彭国伦老师著
7.kind的使用
integer(kind=2) | -32768~32767 |
integer(kind=4) | -2147483648~2147483647 |
real(kind=4) | ±1.18*10-38-±3.40*1038 |
real(kind=8) | ±2.23*10-308-±1.79*10308 |
1 !判断可以记录9个位数的整数的kind值 2 integer,parameter::long_int=selected_int_kind(9) 3 !判断可以有10个有效位数,指数可以记录到50的浮点数kind值 4 integer,parameter::long_real=selected_real_kind(10,50) 5 6 integer(kind=long_int)::a=12345678 7 real(kind=long_real)::b=1.23456789D45
write by xdd 2019-09-19 15:48:15