Fortran和C++学习笔记_第1页
Fortran和C++学习笔记_第2页
Fortran和C++学习笔记_第3页
Fortran和C++学习笔记_第4页
Fortran和C++学习笔记_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学习好资料欢迎下载FORTRAN1. GOTO 语句设计循环结构S1IF (逻辑表达式) THEN循环体GOTOS1ENDIF例;PROGRAM MAINI=05 IF ()THEN READ * ,H,W0 W1=110-W0IF (ABS(W0-W1).LE.5 )THEN PRINT * ,标准ELSE IF ()THENPRINT * ,过胖ELSEPRINT * ,过瘦ENDIFI=I+1GOTO 5ENDIFEND例PROGRAM MAININTEGERFCHREAD *,M,NK=MIN(M,N)I=15IF ()THENIF (MOD(M,I )(N,I ).EQ.O)FCH=

2、II=I+1GOTO 5ENDIFWRITE(* ,100)M,和, N,的最大公约数是:,FCH100FORMAT(1X,I4 ,A,I4 ,A,I4 )END此例中红色部分的“ if ”语句没有“ then ” 和“ endif ”语句,且 FCH = 1直接接在“ if ”语句之后2 逻辑IF语句与GOTO 语句设计的循环程序用逻辑IF语句与GOTO语句实现循环一般是针对“直到型”循环,一般格式是:S1循环体IF (逻辑表达式)GOTOS1学习好资料欢迎下载例PROGRAM MAINI=05 READ * ,H,W0 W1=110-W0IF (ABS(W0-W1).LE.5 )THEN

3、PRINT * ,标准ELSE IF ()THENPRINT * ,过胖ELSEPRINT * ,过瘦ENDIFI=I+1IF ()GOTO 5END2 DO-WHILE循环DO标号 ,WHILE(逻辑表达式)循环体标号终端语句或者 :DOWHILE(逻辑表达式)循环体ENDDO例DO10WHILE()K=I*IPRINT*,I ,KI=1+110CONTINUE当 WHILE()的条件为假时,循环结束,跳到标号为“10”的语句。程序结构非常清晰,在DO-WHILE和 CONTINUE之间就是循环体。或者写成 : DO WHILE()K=I*IPRINT*,I ,KI=1+1ENDDO3 DO

4、循环DO循环语句也可以写成下面形式,但必须与ENDDO配对使用:DOv=e1, e2, e3循环体ENDDOS:表示循环终端语句标号,s 是 statement的缩写。v:表示循环变量,可以是任何合法的变量名,v 是 variable的缩写。e1,e2,e2 :分别表示循环初值表达式、循环终值表达式、循环步长值表达式,e 是expression的缩写方括号“ ”中的内容为可选项。下面形式的DO20,I=1 ,20,2DO10,N=1,5DO100X=1.2 , 3.5 , 1.0DO语句都是合法的形式:DO200T=1.5*2, 100.0/2.0, 2.0DO5M=100, 0, -2例IN

5、TEGERFCHREAD *,M,N学习好资料欢迎下载K=MIN( M, N)DO10I=1 ,K,1IF ( MOD( M, I )( N, I ) .EQ.0 ) FCH=I10CONTINUEWRITE( * , 100) M,和, N,的最大公约数是:, FCH FORMAT( 1X, I4 , A, I4 , A, I4 )END4 循环嵌套program mainimplicit noneinteger m, n, kdo 10 m = 1, 9do 20 n = 1, mwrite (*, 100) m, n ,m*n20 continueprint *, ' '

6、10 continue100 FORMAT (1x, I1, '*', I1, '=', I2, ' ', $)End由于 FORMAT语句中使用了 $符号,执行 WRITE语句后将不会换行, 当一行上的所有算式都输出完后(即内层循环结束) 需要安排一个输出空符号语句, 去掉该行上最后一个算式后的不换行格式5 FORMAT语句10 FORMAT( 3I4 )输出 3 行,每个数据占4 位6 数组6.1 数组的说明数组的说明应该包括以下几个方面的内容:确定数组的名称;确定数组元素的类型;确定数组的结构( 包括数组维数,每一维的取值范围等内容)说明语

7、句的形式有:(1) 类型说明语句:说明数组的类型和元素个数类型标识符数组名 1( 维说明 1 ,维说明(2)DIMENSION 语句:只说明数组元素个数DIMENSION数组名1( 维说明1 ,维说明2)2),数组名,数组名22其中“维说明”的形式:维下界维上界( 或下标下界下标上界)例如:REALA(1:10), B(80:90), C(-5:4), NUM1(1:2,1:5)INTEGERD(0:1,0:4), NUM2(2:5)DIMENSIONS(3:5),M(1:10)数组默认下标下界为1,例如Integer A(1 10) ,等价于A(10)数组说明语句必须出现在所有可执行语句以及

8、READ(*,* ) NDATA语句之前 ,例如DIMENSIONS(3:5),M(1:10)是错误的,两个语句顺序不对。Read 语句当一个文件前面N 行数据不需要时,可以用do循环过滤掉,例如学习好资料欢迎下载Dimension cpp(500,500)Open (unit = 12, file = data , status = old )Nn = 5DOI=1,4READ (12,*)ENDDODONN=NN+1Enddo1000 close (12)Read 在读取前面4 行时,没有赋给任何变量,从第5 行( NN)开始,每次读取数据后赋给数组CPP(NN, 1:10) ,然后将数组

9、写进文件代号为13 的文件。6.2利用隐含DO循环实现对一维数组元素的输入和输出DIMENSIONA=10A(5)!说明一维数组!给 A的5 个元素赋初值10WRITE(*,100)(A(I ), I=5 ,1,-1 )!倒序输出A 数组的5 个元素的值100FORMAT(1X,5I4)6.3给数组赋初值INTEGERA(2,2)DATA( A(I,J),J=1,2) ,I=1,2)/11, 21, 12, 22/或者DATA A/11 , 22, 33, 44/1.OPEN语句OPEN语句用于把设备号与文件名连接起来,并且对文件的各项性质进行指定。它的一般形式为:OPEN(UNIT=unit

10、,ACCESS=access,ACTION=action,BLANK=blanks,BLOCKSIZE=blocksize,CARRIAGECONTROL=carriagecontrol,DELIM=delim,ERR=err,FILE=file,FORM=form,IOFOCUS=iofocus,IOSTAT=iostat,PAD=pad,POSITION=position,RECL=recl,SHARE=share,STATUS=status)其中的各项参数的意义及取值如下:1) UNIT:设备号说明。 unit 是大于或等于 0 的正整数,设备号说明是 OPEN语句的第项时可以省略“ U

11、NIT=”。2) ACCESS:存取方式说明。 access 是字符串表达式:APPEND追加方式SEQUENTIAL 顺序访问方式DIRECT直接访问方式当省略此说明项时为顺序访问方式。3) ACTION:描述文件的读写属性。 action 是字符串表达式:READ文件为只读方式打开WRITE 文件为只写方式打开 READWRITE 文件为可读写方式打开学习好资料欢迎下载当省略此说明项时,文件打开顺序:READWRITE->READ->WRITE。4) BLANK:说明数据格式输入字段中空格的含义。 blank 是字符串表达式:NULL空格忽略不计,相当于在格式描述符中的BN编辑

12、符ZERO空格处理成数字0,相当于BZ编辑符当省略此说明项时为ZERO。此说明只能用于格式输入。5)BLOCKSIZE:指定以字节为单位的设备缓存的大小,默认值为一4 字节整数。6) CARRIAGECONTROL:指明处理文件中的第一个字符的方式,其值为字符串表达式:Fortran对第一个字符作一般的 Fortran 解释LIST指出在文件的每两个记录之间有个空格默认状态下,对于连接到打印机和显示器这样的设备,设置值为 Fortran ,对于连接到文件的设备,设置值为LIST 。当 FORM被设成 UNFORMATTED和BINARY时,其值被忽略。7) DELIM:指明分隔直接列表或格式化

13、名称列表记录的方式,其值为字符串表达式:APOSTROPHE用单撇号 ( ) 分隔QUOTE用双撇号 ( ”)分隔NONE不用分隔符如果在 OPEN语句中设置了分隔符, 则在文件中的单撇号和双撇号都是成对出现的。8) ERR:出错处理说明。 其值是同一程序中的一条语句的标号, 当 OPEN语句执行出错时执行此语句。如果省略该项,则出错时给出出错信息并终止运行。9) FILE :文件名。 file 是一字符串表达式,可以是空、合法的数据文件名字、设备名字或是作为内部文件的变量。在 WinNT/9x 中允许使用长度大于项时,编译器将自动产生一个文件名唯一的临时文件,备关闭后被删除掉。8 的文件名和

14、长度大于3 的文件扩展名。省略此这个临时文件将在结束运行或与文件连接的设10) FORM:记录格式说明。 form 是字符串表达式:FORMATTED 记录按有格式存放。 UNFORMATTED 记录按无格式存放。当省略此说明项时为:对顺序文件是有格式的;对直接文件是无格式的。11) IOFUS:指出一个新 Quickwin 子窗口是否为活动窗口,其值为逻辑值。缺省值为真。12)IOSTAT:出错状态说明。 iostat是个缺省长度为4 的整形变量。当执行此OPEN语句时系统给变量赋值:零负数正数没有发生错误文件结尾发生错误,其值视具体计算机系统而定学习好资料欢迎下载若省略该项则没有此功能。1

15、3)PAD:从格式化文件中记录的数据少于要读取的数据时,是否用空格来填充没有从记录中读到数据的变量。 pad 是字符串表达式:YES填充(默认值)NO不填充14) POSITION:指定打开顺序文件的访问位置, position 是字符串表达式:ASIA已被连接的文件的访问位置是固定的,未被连接的文件的访问位置是文件的开始处。REWIND把文件的访问位置定在文件的开始处( 文件己存在 ) 。APPEND把文件的访问位置定在文件的末尾处( 文件己存在 ) 。对于一个新文件,文件的访问位置总是被定在文件的开始处。15) RECL:记录长度 ( 单位为字节 ) 说明。 recl 是指定的正整型量或算

16、术表达式,用来指定直接文件中的每条记录的字节数,或顺序文件中的记录的最大长度。16) SHARE:指明当文件打开时是否实现文件的锁定。 share 是字符串表达式:DENYRW动态读写模式。不允许其他的进程打开这个文件。DENYWR动态写模式。不允许其他的进程以写的方式打开这个文件。DENYRD动态读模式。不允许其他的进程以读的方式打开这个文件。DENYNONE默认的非动态模式。允许其他的进程打开这个文件。17) STATUS:文件状态说明。 status 是字符串表达式:OLD表示指定的文件是已经存在的老文件。这一状态一般用于读操作,如果用于写操作则重写文件,原文件内容将被覆盖。如果指定的文

17、件并不存在,则系统将给出出错信息。NEW表示指定的文件尚不存在。 执行 OPEN语句时将在磁盘上建立该文件并使其状态改变为 OLD。NEW状态一般用于写操作。如果指定的文件名已经存在将给出出错信息 ( 有的系统不给出信息而是把这个已经存在的文件冲掉使原来的内容不复存在 ) 。SCRATCH表示与设备号相连接的文件在关闭时将被自动删除。注意:此状态不能与 FILE 说明共存,只能用于由计算机系统指定的文件名,使该文件作为程序运行过程中的一个临时性文件。REPLACE表示替换一个有相同名字的文件,如果没有同名的文件存在,将产生一个新文件。学习好资料欢迎下载UNKNOWN表示文件可以是已存在的或不存

18、在的。系统打开文件状态的次序为: OLO->NEW-创>建新文件。 STATUS的设置值只影响磁盘文件,像键盘和显示器这样的设备将忽略这一设置。若省略该项时默认的状态为UNKNOWNMakefile 基本上就是目 标(target), 关连(dependencies)和动作三者所组成的一 连串规则。而 make 就会根据 Makefile 的规则来决定如何 编译 (compile)和连结 (link) 程式。 实际上, make 可做的不只是 编译和连结程式,例如 FreeBSD 的 port collection中, Makefile 还可以做到自 动下载原始程式套件,解 压缩

19、(extract) ,修补(patch) ,设定,然後 编译,安装至系 统中。C+Visual C+ 作为一种程序设计语 言, 它同时也是一个集成 开发工具 , 提供了 软件代码自动生成和可 视化的资源编辑功能。在使用 Visual C+ 开发应 用程序的 过程中 , 系统为我们生成了大量的各 种类型的文件 , 在本节中将要 详细介绍 Visual C+ 中这些不同 类型的文件分 别起到什 么样的作用 , 在此基 础上对 Visual C+ 如何管理 应用程序所用到的各 种文件有一个全面的 认识 。首先要介 绍的是扩展名为 dsw 的文件 类型 , 这种类型的文件在 VC 中是级别最高的 ,

20、称为 Workspace 文件。在 VC 中 , 应用程序是以 Project 的形式存在的 , Project 文件以 .dsp 扩展名 , 在 Workspace 文件中可以包含多个 Project, 由 Workspace 文件对它们进行统一的协调和管理。与 dsw 类型的 Workspace 文件相配合的一个重要的文件 类型是以 opt 为扩展名的文件 , 这个文件中包含的是在 Workspace 文件中要用到的本地 计算机的有 关配置信息 , 所以这个文件不能在不同的 计算机上共享 , 当我们打开一个 Workspace 文件时, 如果系 统找不到需要的 opt 类型文件 , 就会自

21、 动地创建一个与之配合的包含本地 计算机信息的 opt 文件。上面提到 Project 文件的 扩展名是 dsp, 这个文件中存放的是一个特定的工程的有关信息 , 每个工程都 对应 有一个 dsp 类型的文件。, 也就是特定的 应用程序以 clw 为扩展名的文件是用来存放 应用程序中用到的 类和资源的信息的 , 这些信息是 VC 中的 ClassWizard 工具管理和使用 类的信息来源。对应每个应用程序有一个 readme.txt 文件 , 这个文件中列出了 应用程序中用到的所有的文件的信息 , 打开并查看其中的内容就可以 对应用程序的文件 结构有一个基本的 认识。在应用程序中大量 应用的是

22、以 h 和 cpp 为扩展名的文件 , 以 h 为扩展名的文件称 为头文件。以 cpp 为扩展名的文件称 为实现 文件 , 一般说来 h 为扩展名的文件与 cpp 为扩展名的文件是一一 对应 配合使用学习好资料欢迎下载的, 在 h 为扩展名的文件中包含的主要是 类的定义, 而在 cpp 为扩展名的文件中包含的主要是 类成员函数的 实现代码。在应用程序中 经常要使用一些位 图、菜单之类的资源 , VC 中以 rc 为扩展名的文件称 为资源文件 , 其中包含了 应用程序中用到的所有的 windows 资源 , 要指出的一点是 rc 文件可以直接在 VC 集成环境中以可 视化的方法 进行编辑和修改。最后要介 绍的是以 rc2 为扩展名的文件 , 它也是 资源文件 , 但这个文件中的 资源不能在 VC 的集成 环境下直接 进行编辑和修改 , 而是由我 们自己根据需要手工地 编辑这 个文件。对于以 ico,bmp 等为扩展名的文件是具体的 资源, 产生这种资源的途径很多。使用 rc 资源文件的目的就是为了对程序中用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论