fortran中函数前 real是表示什么?

是表示返回值是real的,还是函数中全部的数值要求是real的、??... 是表示返回值是real的,还是函数中全部的数值要求是real的 、?? 展开
 我来答
zzllrr小乐
高粉答主

推荐于2017-10-02 · 小乐数学,小乐阅读,小乐图客等软件原作者,“zzllrr小乐...
zzllrr小乐
采纳数:20147 获赞数:78788

向TA提问 私信TA
展开全部
real在Fortran中表示实数类型。

其中有两种精度:
单精准度(REAL*4)
双精准度(REAL*8)
相应的实数范围:

real(kind=4):±1.18*10-38 ~ ±3.40*1038,有效6-7位
real(kind=8):±2.23*10-308 ~ ±1.79*10308,有效15位
sjzwuww
推荐于2018-03-24 · TA获得超过1.2万个赞
知道大有可为答主
回答量:6839
采纳率:82%
帮助的人:2110万
展开全部
一种用法,是说明语句,即把变量定义成实型,例如
REAL NA,NB,NC
另一种用法是类型转换函数,即把变量值或者表达式的类型变成实型,例如
A = REAL(B*C + NA)
你问的应该是后一种用法,返回值是real型的,括号里可以是整型、实型、复数型、双精度型。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户81002
推荐于2017-10-15 · 超过11用户采纳过TA的回答
知道答主
回答量:206
采纳率:0%
帮助的人:0
展开全部
tine)和自定义函数(function)。自定义函数本质上就是数学上的函数,一般要传递自变量给自定义函数,返回函数值。子程序不一定是这样,可以没有返值。传递参数要注意类型的对应,这跟C是一样的。
1、子程序
目的:把某一段经常使用的有特定功能的程序独立出来,可以方便调用。
习惯上一般都把子程序放在主程序结束之后。
形式:
subroutine name (parameter1, parameter2)
!给子程序起一个有意义的名字。可以传递参数,这样可以有返回值。括号内也可以空着,代不传递参数。
implicit none
integer:: parameter1, parameter2 !需要定义一下接收参数的类型。
…… !接下来的程序编写跟主程序没有任何别。
……
mreturn !跟C不同,这里表示子程序执行后回到调用它的地方继续执行下面的程序。不一定放

!在最后。可以放在子程序的其他位置,作用相同;子程序中return之后的部分不执行。
end [subroutine name]
调用:使用call命令直接使用,不需要声明。在调用处写:
call subroutine name(parameter1,parameter2)
注意点:
a.子程序之间也可相互调用。直接调用就是了,像在主程序中调用子程序一样。
b.传递参数的原理和C中不同。Fortran里是传址调用(call by address/reference),就是传递时用参数和子程序中接收时用的参数使用同一个地址,尽管命名可以不同。这样如果子程序的执行改子程序中接收参数的值,所传递的参数也相应发生变化。
c.子程序各自内部定义的变量具有独立性,类似于C。各自的行代码也具有独立性。因此各个子程序主程序中有相同的变量名、行代码号,并不会相互影响。

2、自定义函数
和子程序的明显不同在于:需要在主程序中声明之后才能使用。调用方式也有差别。另外按照惯例用函数不去改变自变量的值。如果要改变传递参数的值,习惯上用子程序来做。
声明方式:real, external :: function_name
一般自定义函数也是放在主程序之后。
形式:
function function_name(parameter1, parameter2)
implicit none
real:: parameter1, parameter2 !声明函数参数类型,这是必需的
real::function_name !声明函数返回值类型,这是必需的
……
……
function_name=…. !返回值的表达式
return
end
也可以这样直接声明返回值类型,简洁些:
real function function_name(parameter1, parameter2)
implicit none
real:: parameter1, parameter2 !这个还是必需的
……
……
function_name=…. !返回值表达式
return
end
调用:function_name(parameter1,parameter2)
不需要call命令。
自定义函数可以相互调用。调用时也需要事先声明。
总之,调用自定义函数前需要做声明,调用子程序则不需要。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式