Fortran學習筆記(一)

2021-07-22 10:13:28 字數 683 閱讀 1417

今天再看程式的時候突然有了乙個疑問,所以用了乙個簡單的迴圈測試了一下,雖然簡單,但是.......那就簡單吧。

program aaaaaaaa

implicit none

integer i,j

real x(22)

do i=1,10

x(i)=i

write(*,*) i,x(i)

enddo

do j=1,10

i=i+1

x(i)=j

write(*,*)i,x(i)

enddo

write(*,*) "x(11)=",x(11)

end program

最後輸出的結果是

簡單的以為第乙個迴圈結束後i=10,所以代入到第二個迴圈中也是10。然而奇怪的是最後沒有輸出i=11時候的值。而是直接i+1後代入第二個迴圈。

後來討論之後發現是因為第乙個迴圈後i的輸出值就是11了。因為第乙個迴圈中i從1開始,然後2、3…9,i=10的時候繼續迴圈,之後i=10+1的時候大於10了,所以跳出了迴圈。此處跳出迴圈是指i>10,而不是i=10之後就立馬跳出。

看樣子迴圈理解的不深啊。。。

Fortran學習雜記 一

1.內建函式 1 數值運算 常見 abs aimag conj max min mod a,b real cmplx a,b 2 學函式 命名類似matlab sin asin cos acos tan atan log sinh cosh tanh sqrt 3 陣列函式 matmul 矩陣相乘 ...

Fortran 學習手記 陣列篇

part i 陣列定義 1.fortran最大支援7維的陣列 2.定義陣列大小的引數可以是數字或者常數 parameter 但不可以是變數 3.定義陣列的幾種形式 1 integer a 10,10 最簡單的方法 2 integer,dimension 10,10 a 另外一種做法 3 intege...

fortran 語法學習之二

1 參考offloading success.c的寫法,將c 翻譯為fortran的寫法如下 參考第乙個引數的預設屬性是tofrom omp target map from ishost ishost omp is initial device omp end target2 參考 中 定義的變數,...