codecamp

Fortran的数据类型

Fortran语言提供了五种内部数据类型,但是,你可以得到你自己的数据类型为好。五个内在的类型有:

  • 整型
  • 房地产类型
  • 复杂类型
  • 逻辑类型
  • 字符类型

整型

整数类型只能容纳整数值。下面的例子中提取,可以在通常的4字节整数中保存的最大值:

program testingInt
implicit none

   integer :: largeval
   print *, huge(largeval)
   
end program testingInt

当你编译和执行上面的程序它产生以下结果:

2147483647

需要注意的是巨大()函数给出可由特定整数数据类型被保持的最大数目。还可以指定使用的那种符的字节数。下面的例子说明了这一点:

program testingInt
implicit none

   !two byte integer
   integer(kind=2) :: shortval
   
   !four byte integer
   integer(kind=4) :: longval
   
   !eight byte integer
   integer(kind=8) :: verylongval
   
   !sixteen byte integer
   integer(kind=16) :: veryverylongval
   
   !default integer 
   integer :: defval
        
   print *, huge(shortval)
   print *, huge(longval)
   print *, huge(verylongval)
   print *, huge(veryverylongval)
   print *, huge(defval)
   
end program testingInt

当你编译和执行上面的程序,它会产生以下结果:

32767
2147483647
9223372036854775807
170141183460469231731687303715884105727
2147483647

实型

它存储浮点数,例如2.0,3.1415,-100.876等

传统上有两种不同的现实类型,默认型和双精度型。

然而,Fortran语言90/95提供了真实和整数数据类型通过一种说明,我们将在数字章节中研究精密的控制。

下面的例子说明了如何使用真实的数据类型:

program division   
implicit none  

   ! Define real variables   
   real :: p, q, realRes 
   
   ! Define integer variables  
   integer :: i, j, intRes  
   
   ! Assigning  values   
   p = 2.0 
   q = 3.0    
   i = 2 
   j = 3  
   
   ! floating point division
   realRes = p/q  
   intRes = i/j
   
   print *, realRes
   print *, intRes
   
end program division  

当你编译和执行上面的程序它产生以下结果:

0.666666687    
0

复杂类型

这个用于存储复数。一个复杂的数字有两部分,实部和虚部。两个连续的数字存储单元存储这两个部分。

例如,该复数(3.0,-5.0)等于3.0 - 5.0i

我们将详细讨论复杂类型,在数字章节。

逻辑类型

仅存在两个逻辑值:.TRUE。.FALSE。

字符类型

字符类型存储字符和字符串。字符串的长度可以通过LEN说明指定。如果未指定长度,它是1。

例如,

character (len=40) :: name  
name = “Zara Ali”

表达, 域名(1:4),将给予串“扎拉”。

隐式类型

Fortran语言的旧版本允许一个叫做隐式类型,也就是说,你不必在使用前声明变量功能。如果变量未声明,那么它的名字的第一个字母,将决定其类型。

开始以i的变量名,J,K,L,M,或n,被认为是为整数变量,其余都是真实的变量。但是,你必须为它良好的编程习惯声明所有的变量。对于您的发言开始你的程序:

implicit none

这个语句关闭隐式类型。


Fortran数组
Fortran的动态数组
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }