Fortran标准中有一项不太好的功能,它的变量并不一定要经过程序的声明才能使用,编译器会根据变量名称的第一个字母来自动决定这个变量的类型。第一个字母为I、J、K、L、M、N的变量会被视为整数类型,其他的变量则会被视为浮点数来使用。
在开始做声明之前,都加入implicit none
这个描述可以有效避免上述不太好的功能。
注:implicit
命令一定要进阶program
命令的下一行!
我们的程序中有一些值是固定不变的,比如说重力加速度、圆周率等,这些数据可以声明为“常数”。
1program main
2implicit none
3real pi
4parameter(pi=3.1415926)
5...
6end
7
注:常数在程序中只能设置一次,数值设置后,在程序代码中不能改变它的内容,若在程序中改变“常数”的值,编译时会报错。
固定格式中设置初值时,需要用到DATA命令:
在data后面接上所要设置初值的变量,然后利用两个斜杠包住所要设置的值。
1program main
2implicit none
3integer a
4real b
5character*(20) str
6data a,b,str /1,2.0,'fortran'/
7...
8end
注:程序中声明的部分一定要全部写在程序的前面(紧接着program)
和python、C、matlab等编程语言一样,fortran也有着自己的程序流程控制,具体的含义就不多讲了,只强调一下表示的方式与注意的细节。
基本程序块:
1if(逻辑判断式)then
2...
3end if
或是
1if(逻辑判断式)then
2...
3else
4...
5end if
多重嵌套
1if(...)then
2 if(...)then
3 else if(...)then
4 else
5 end if
6end if
7
注:如果所需要执行的程序模块只有一行程序代码,可以把if跟这行代码写在同一行,可省略then
和end if
.
1if (逻辑判断)...
.EQ. | 判断是否“等于”(EQuivalent) |
---|---|
.NE. | 判断是否“不等于”(Not Equivalent) |
.GT. | 判断是否“大于”(Greater Than) |
.GE. | 判断是否“大于或等于”(Greater or Equivalent) |
.LT. | 判断是否“小于”(Little than) |
.LE. | 判断是否“小于或等于”(Little or Equivalent) |
.AND. | 交集,如果两边的表达式都成立,整个表达式成立 |
.OR. | 并集,两边的表达式只要有一个成立,整个表达式成立 |
.NOT. | 逻辑反向,如果后边的表达式不成立,整个表达式成立 |
.EQV. | 两边的表达式的逻辑运算结果相同时,整个表达式成立 |
.NEQV. | 两边的表达式的逻辑运算结果不同时,整个表达式成立 |
好啦,今天的分享就结束啦~我们下期再见咯,