学习fortran77基础语法

 

 1  Program ParamaterDefine  2  Implicit None  3 C FORTRAN变量名和关键字不区分大小写。但调用外部函数的话,须要在编译选项里指定  4 c 大小写等选项 由于连接器是区分大小写的  5 ! 关于注释:在自由格式中,只有!一种方法; 在固定格式中,除了!还能够用c或C或*,但必须写在前五个  6 ! 字母,即绿线的左边。  7 * *和C是必须放在第一列的,!没必要,另外73列之后的内容也属于注释  8  Integer I,J,K,L,M,N!整型,前面只能声明变量,不能给变量赋值,语句后面不用分号  9       Double Precision Area,Length,pi,R,YMJ,ZMJ,degree,SinAddCos,A(1:10)!双精度实型 10  DOUBLE PRECISION MyExp,y,x 11  Complex D,C!复数类型,若是含表达式则用CMPLX 12  Logical T,F!逻辑型,逻辑常量有“T”和“F”,“T”表示“.TRUE.”,“F”表示“.FALSE.” 13       Character*50 name,str*20!字符型,N为字符串长度,能够在变量名称后从新指定长度 14 C      DIMENSION IA(0:9) !使用I-N规则时用DIMENSION说明数组,也可在定义变量类型同时说明数组,说明格式为: 15 C      数组名(下标下界,下标上界),也可省略下标下界,此时默认为1,例:一维数组DIMENSION IA(0:9)  二维:A(0:2,0:1,0:3) 16       
17       parameter(pi=3.1415926)!参数语句,用来定义常量,在程序中应放在类型说明语句以后 18       
19       YMJ(R)=3.14159265*R*R!应该放在全部可执行语句以前和有关类型说明语句以后,是非执行语句; 20  SinAddCos(degree)=SIN(degree)+COS(degree)!语句函数必须放在函数的赋值语句前,声明语句后 21       N=3
22       Length=3.0
23       D=(8.76,-67.8E-3)!D=(8.76E+0.5,-67.8E-3)为啥错误啊 24       C=Cmplx(3.0*N,6.0+Length)!有表达式,得用Cmplx 25  T=.TRUE. 26  F=.FALSE. 27       name='My name is zhubinglong!'! //是字符串链接符,/是换行
28 c 语句函数的调用,并输出结果 29       ZMJ=YMJ(5) 30  print * ,ZMJ 31 c 默认格式输出字符串 32       Write(*,*)'I LOVE YOU!'!默认格式输出(默认输出完成后换行) 33  Write(*,*) name 34 c 格式化输出 35       Write(*,1)! 36 1 format(/) ! 1x表示一个空格;/表示换行; 37 c 循环给数组赋值,并格式化输出一维数组A 38       DO 100 I=1,10,1
39             A(I)=I**2
40 100 CONTINUE 41       WRITE(*,10) ('I=',I,'A=',A(I),I=1,10,1) 42 10    FORMAT(1X,5(A2,I2,1X,A2,F4.0,3X)) 43 C 尝试调用语句函数并输出结果 44  R=SinAddCos(pi) 45  WRITE(*,*) R 46 c 调用函数子程序 47       
48       WRITE(*,*) '请输入x:'
49  READ(*,*) x 50       y=(MyExp(x)-MyExp(-x))/2.0
51  End Program ParamaterDefine 52       WRITE(*,2)'Sinh(',x,')=',y 53 2     format(1x,a,f5.2,a,e13.6) 54       
55  !SUBROUTINE SinAddCos(degree) 56       !double precision rest 57  !rest=SIN(degree)+COS(degree) 58  !return rest 59  !END SUBROUTINE SinAddCos(degree) 60  FUNCTION MyExp(x)!或者:DOUBLE PRECISION FUNCTION MyExp(x) 61  DOUBLE PRECISION MyExp,t,s,x 62  INTEGER n 63       n=0
64       t=1
65       s=1
66       do 10 while (abs(t).gt.1e-5) 67             n=n+1
68  t=t*x/n 69  s=s+t 70 10 continue 71  MyExp=s 72  End 73       
74
FORTRAN77基础代码

 

 

 

用fortran77html

1.介绍几个基本语法学习:

http://micro.ustc.edu.cn/Fortran/ZJDing/c#

http://blog.sina.com.cn/s/blog_8e7709e101018mqd.html数组

http://blog.sina.com.cn/s/blog_6e0aa6420100pu9p.htmlide

 2.具体

https://wenku.baidu.com/view/7f656ad06529647d272852cd.html函数

 

 

 

 

 

 

能够看出,默认是按列输入的学习

 

 

 

 

 


 

3.子程序

 

 

 

 

 

 

 

 

 

 

 

 

 

Fortran77中默认传址,而不是传值spa

 

 4.子例行程序

怎么没有在子程序中声明变量???.net

子例行程序默认也是传址

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

conmmon就像int同样,能够在多行声明,也能够在单行声明插件

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

额外发现:3d

c#写注释搜代码:http://www.360doc.com/content/14/0218/15/8772388_353542751.shtml     

 http://codesnippet.research.microsoft.com/#    插件地址:https://marketplace.visualstudio.com/items?itemName=VisualStudioPlatformTeam.DeveloperAssistant

相关文章
相关标签/搜索