Fortran常數


常數指的是該程式不能在其執行期間改變的固定值。這些固定的值也被稱為文字。

常數可以是任何像一個整數的基本資料型別的常數,浮點常數,字元常數,複雜的常數或一個字串字面量。只有兩個邏輯常數:.true. 和 .false.

常數被視為就像普通的變數,但它們的值無法定義後進行修改。

命名常數和文字

有兩種型別的常數:

  • 字面常數
  • 命名常數

一個字面常數有值,但沒有名字。

例如,以下是文字常數:

型別 例子
整型常數 0 1 -1 300 123456789
實型常數 0.0 1.0 -1.0 123.456 7.1E+10 -52.715E-30
複數常數 (0.0, 0.0) (-123.456E+30, 987.654E-29)
邏輯常數 .true. .false.
字元常數

"PQR" "a" "123'abc$%#@!"

" a quote "" "

'PQR' 'a' '123"abc$%#@!'

' an apostrophe '' '

命名常數的值和名稱。

命名常數應該在程式或過程的開始宣告,就像一個變數的型別宣告,說明其名稱和型別。命名常數與引數屬性宣告。例如,

real, parameter :: pi = 3.1415927

例子

下面的程式計算的位移,由於重力作用下垂直運動。

program gravitationalDisp

! this program calculates vertical motion under gravity 
implicit none  

   ! gravitational acceleration
   real, parameter :: g = 9.81   
   
   ! variable declaration
   real :: s ! displacement   
   real :: t ! time  
   real :: u ! initial speed  
   
   ! assigning values 
   t = 5.0   
   u = 50  
   
   ! displacement   
   s = u * t - g * (t**2) / 2  
   
   ! output 
   print *, "Time = ", t
   print *, 'Displacement = ',s  
   
end program gravitationalDisp

當上述程式碼被編譯和執行時,它產生了以下結果:

Time = 5.00000000    
Displacement = 127.374992