codecamp

Fortran语言变量

变量是什么,但给我们的程序可以操纵一个存储区的名称。每个变量应该具有特定的类型,它决定了大小和变量的存储器的布局;可以存储该存储器内的值的范围内;和该组操作可以施加到可变。

变量的名称可以由字母,数字和下划线。在Fortran语言的名称必须遵循以下规则:

  • 它不能超过31个字符。

  • 它必须由字母数字字符(字母表中的所有字母和数字0到9)和下划线(_)。

  • 名称的第一个字符必须是字母。

  • 名称不区分大小写。

基于基本类型前面的章节中介绍,下面是变量类型:

类型描述
整数它只能容纳整数值。
真实它存储浮点数。
复杂它用于存储复数。
合乎逻辑的它存储逻辑布尔值。
字符它存储的字符或字符串。

变量声明

变量在一个类型声明语句一个程序(或子程序)的开头声明。

语法变量声明如下:

type-specifier :: variable_name

例如,

integer :: total  	
real :: average 
complex :: cx  
logical :: done 
character(len=80) :: message ! a string of 80 characters

稍后,您可以将值分配给这些变量一样,

total = 20000  
average = 1666.67   
done = .true.   
message = “A big Hello from Tutorials Point” 
cx = (3.0, 5.0) ! cx = 3.0 + 5.0i

您也可以使用内部函数CMPLX,赋值给一个复数变量:

cx = cmplx (1.0/2.0, -7.0) ! cx = 0.5 – 7.0i 
cx = cmplx (x, y) ! cx = x + yi

下面的示例演示屏幕上变量声明,分配和显示:

program variableTesting
implicit none

   ! declaring variables
   integer :: total      
   real :: average 
   complex :: cx  
   logical :: done 
   character(len=80) :: message ! a string of 80 characters
   
   !assigning values
   total = 20000  
   average = 1666.67   
   done = .true.   
   message = "A big Hello from Tutorials Point" 
   cx = (3.0, 5.0) ! cx = 3.0 + 5.0i

   Print *, total
   Print *, average
   Print *, cx
   Print *, done
   Print *, message
   
end program variableTesting

当上述代码被编译和执行时,它产生了以下结果:

20000
1666.67004    
(3.00000000, 5.00000000 )
T
A big Hello from Tutorials Point         

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; }