简单记录fortran入门过程

本文记录了一位程序员从零开始学习Fortran的过程,包括选择学习资源、理解源码格式规定、掌握基本语法等内容,并分享了学习心得。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

寒假给堂弟讲C语言。我自然是轻车熟路,但他对C却是一无所知。不用说函数啊,格式啊,变量了,就连void都会写成viod,不知int为何物。各种格式也是一团乱麻。读者切不可笑,今天初次接触fortran,抄了个例子,却一样是编译不过,错误百出。究其原因,对fortran一无所知而已。正好,借此机会好好回忆总结下,如何学习语言。

step 1. 搜索fortran入门,找到 http://micro.ustc.edu.cn/Fortran/ZJDing/,一个中文的fortran教程。很详细。可惜的是,将上面的例子复制到linux中,无论是用f77还是用gfortran,或者是f95编译,却都不通过,错误百出:

In file cir.f:2 real :: r(3) 1 Error: Non-numeric character in statement label at (1) In file cir.f:2 real :: r(3) 1 Error: Unclassifiable statement at (1) In file cir.f:3 data r /1, 3, 12.5/ 1 Error: Non-numeric character in statement label at (1) In file cir.f:3

程序源码:

real :: r(3) data r /1, 3, 12.5/ do i=1,3 print *, '半径=', r(i), '圆周长=', C(r(i)) end do end function c(radius) pi=acos(-1.0) c=2*pi*radius return end

也不知道怎么回事。且待我慢慢学习。

step 2. 准备寻找一个可以编译执行的例子看看。搜一搜去~~

打开了pudn.com,不过网速比较慢。就继续看了下step1中的教程,看到 1.3.2源码格式这一节,原来,在卡片输入年代的fortran和Mainframe中的COBOL类似,对源码格式是有非常严格的规定的,例如:

Fortran卡片机格式

在f90之后,取消了这些限制。但是,为了区分两种格式,fortran采取了用后缀名区分的方式:

对应的默认文件扩展名为:

<!-- [if !supportLists]-->* <!-- [endif]-->固定格式:  .for  或  .f   [fixed.for ]

<!-- [if !supportLists]-->* <!-- [endif]-->自由格式:  .f90 [free.f90 ]

我原以为,用f95编译就会自动采用90标准,用f77编译则会自动采用77标准。唉,想错啦~~

step 3. 学习fortran基本语法

计划学习变量定义,输入输出,文件操作,控制结构和函数组织。

一个小时后,看了个大概。

step 4. 阅读SPECOMP2001的源码

基本能够明白大意。某些关键字和语法的缘故,还不能对代码意图了如指掌。

总结,有基础,学习还是比较容易的。只要读过了最开始的茫然,第一个周期便能顺利展开~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值