第12章数据块子程序.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章数据块子程序

*/60 12.2公用语句(COMMON) 有名公用区: 如主程序中有:Common R,X,Y,Z,A,B,C,U,V,W,I 有一子程序定义: Common R,X,Y,Z/C2/A,B,C  无名公用区 有名(C2)公用区 */60 12.2公用语句(COMMON) 有名公用区: 例如: Common R,X,Y,Z/C2/A,B,C 可以写成: Common /C2/A,B,C//R,X,Y,Z 还可以写成: Common R/C2/A//X,Y,Z/C2/B,C 或者分别写成: Common R/C2/A Common /C2/B, //X Common /C2/A,B,C//R,X,Y,Z Common //Y,Z ,/C2/C 无名公用区 */60 12.2公用语句(COMMON) 有名公用区: 由于以上写法的可读性较差,建议使用以下方法: Common R,X,Y,Z Common /C2/A,B,C Common /C3/W,V,U Common /C4/I */60 12.2公用语句(COMMON) program main common /x/x1,x2,x3 read (*,*)x1,x2 call cfx print *, x3 END subroutine cfx common /x/y1,y2,y3 y3=y1*y2 end 公用语句 的应用。 */60 next program main common /x/x1,x2,x3 read (*,*)x1,x2 call cfx print *, 3 END subroutine cfx common /x/y1,y2,y3 y3=y1*y2 end */60   SUBROUTINE COUNT(N)   COMMON SUM   DO 10 I=1, 5 10 SUM=SUM*I   N=SUM   END   PROGRAM MAIN   COMMON SUM   SUM=1   CALL COUNT(N);   WRITE(*,*) N   CALL COUNT(N);   WRITE(*,*) N   END 分析结果 使用的是无名公用区 */60   SUBROUTINE COUNT(N)   COMMON SUM   DO 10 I=1, 5 10 SUM=SUM*I   N=SUM   END   PROGRAM MAIN   COMMON SUM   SUM=1   CALL COUNT(N);   WRITE(*,*) N   CALL COUNT(N);   WRITE(*,*) N   END */60 12.2公用语句(COMMON) program main common /x/x1,x2,x3 common/s/s1,s2,s3 read (*,*)x1,x2 read(*,*) s1,s2 call CF call TH print *, x3,s3 END subroutine CF common /x/y1,y2,y3 y3=y1*y2 end Subroutine TH common /s/w1,w2,w3 w3=w1+w2 end */60 数据块子程序 */60 12.3数据块子程序 数据块子程序是一个特殊的子程序: 它只是用来给有名公用区的变量赋初值. 它也是一个独立的程序单位,可以单独编译. 数据块子程序的规则: 第一条语句一定是: BLOCK DATA 子程序名 (可以没有子程序名),以END结束; 它只用来给有名公用区的变量赋值,不能被别的 程序单位调用; Block Data abc …….. End */60 12.3数据块子程序 数据块子程序中不能出现可执行语句(包括Return语句),只能有: DATA、Common、Dimension、Equivalence、类型说明语句;且DATA(指定变量赋初值)、Common(与其它程序产生联系)是不可少的。 指定的某个有名公用区中所有变量,都必须一一按顺序排列在Common语句中。 */60 12.3数据块子程序 Block Data Init Dimension A(10),B(5) Common /Com/A,X,Y,Z,B Integer X,Y,Z Data X,Y,Z/3*0/,B/5*0.0/ End */60 12.3数据块子程序 program main common /com/x1, x2, x3, x4 x10=x1+x2 pr

文档评论(0)

haocen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档