数据和数据块(Fortran结构体)write语句和format语句

一、the data statement

这个data statement,就像是赋值语句。
data list-of-variables/ list-of-values/, …
三个点意味着这是可以重复的。

integer m,n
real x,y
data m/10/, n/20/, x/2.5/, y/2.5/

上述程序也可以写成

integer m,n
real x,y
data m, n/10, 20/, x, y/2*2.5/

2*2.5就是赋值相同的数值到同一个变量中去。
上述赋值语句等同于,

integer m, n
real x, y
m = 10
n =20
x=2.5
y=2.5

data statement 只在程序开始之前执行一次,因此the data statements主要用于主程序而不是在subroutines。data statements还可以用于初始化全零数组,当程序开始时。

real A(10, 20)
data A/200*0.0/

一些编译器会在编译的时候自动初始化数组。但不是所有的都这样。
此外,你还可以把数组初始化为其他的值,而不是0.你甚至可以初始化单个的元素。

data A(1, 1 )/12.5/, A(2, 1)/-3.33/

你甚至可以列出来所有的值,对于一个小数组来说。

integer v(5)
real B(2 ,2)
data v/10, 20, 30, 40, 50/, B/1.0, 2.0, 3.0, 4.0/

二、the block data statement

the data statement不能够被用于common block的变量赋值。这里有一个特殊的subroutine,叫做block data.

      block data
      integer nmax
      parameter (nmax=20)
      real v(nmax), alpha, beta
      common /vector/v,alpha,beta
      data v/20*100.0/, alpha/3.14/, beta/2.71/
      end

write语句


	  wirte (*, *)  'The answer is ', x   //WRITE 会把所有()之后的变量都打印出来

	  write (*,'(A, F8.3)') 'The answer is x = ', x //A指的是字符串的format, F8.3指的是x的format
      write (*,990) 'The answer is x = ', x  //上下的语句效果是一样的。
  990 format (A, F8.3)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值