!Abaqus子程序VS编译-Fortran语法练习
program main
!主程序开始
implicit none
!整型数据
!integer::x,y,add
!x=1
!y=2
!add=x+y
!write(*,'(i10)'),add !括号内i表示整型,10表示最大十,小于十时左空格一位
!实型
!real::x
!x=1.628
!print*,x
!默认字节数
!integer::a
!real::b
!real(16)::c
!print*,huge(a),huge(b),huge(c)
!逻辑型
!logical::flag1,flag2
!flag1=.true.
!flag2=.false.
!print *,flag1,flag2
!字符型
!character(5)::ch1
!ch1="abcde"
!write(*,*) ch1(1:3)
!数组
!real,dimension(5)::arr1
!data arr1 /1.0,2.0,3.0,4.0,5.0/
!print*,arr1
!点乘
!integer,dimension(3)::arr2
!data arr2 /1,2,3/
!integer,dimension(3)::arr3
!data arr3 /3,2,1/
!integer :: dotpro
!dotpro = dot_product(arr2,arr3)
!print *,dotpro
!矩阵
!integer,dimension(2,2) :: matr1
!data matr1 /1,2,3,4/
!print *,matr1(2,2)
!矩阵乘法
!integer,dimension(2,2)::matr2,matr3,matr4
!data matr2 /1,2,3,4/
!data matr3 /1,2,3,4/
!matr4 = matmul(matr2,matr3)
!print *,matr4
!条件语句if-else if-else
!integer::x=10
!if(x.EQ.10) then
! print *,'x=10'
! else if(x.GT.10) then
! print *,'x>10'
!else
! print *,'x<10'
! end if
!循环语句do循环
!integer :: n
!do n = 1,6
! print *,n
!end do
!循环语句do while循环
!integer::n=1
!do while(n<=6)
! print *,n
! n = n + 1
!end do
!跳出控制exit 从1打印到10,既停。
!integer :: n
!do n=1,100
! print *,n
! if(n==10) then
! exit
! end if
!end do
!跳出控制cycle 不打印10,跳过10,接着11打印。
!integer :: n
!do n = 1,20
! if (n == 10) then
! cycle
! end if
! print *,n
!end do
!文件操作新建并写出数据
!integer::i
!open(unit = 2021,file='myfile.txt',status='new')
!do i=1,5
! write(2021,*) i
!end do
!close(2021)
!文件操作读入数据
integer :: i
integer, dimension(5):: p
open(unit = 2021,file='myfile.txt',status='old')
do i = 1,5
read(2021,*) p(i)
end do
do i = 1,5
print *,p(i)
end do
close(2021)
!暂停看结果
pause
!主程序结束
end program main