Fortran数据类型.ppt
《Fortran数据类型.ppt》由会员分享,可在线阅读,更多相关《Fortran数据类型.ppt(36页珍藏版)》请在三一文库上搜索。
1、5.1 数据类型的概念,内部数据类型,数值型,非数值型,派生数据类型,第五章 FORTRAN 90数据类型,系统提供了多种表示整数值的方法,每种方法定义了一个整型数据值的集合。,每种方法用类别类型参数来区分。整型常量的表示形式为一个数字串,并在数字串后有一个可任选的下划线后再跟类别类型参数。,例如,373、-1024、35792、0、32_2、1992110235764803_8,5.2 整型数据,二进制、八进制和十六进制整型常量,只能用于DATA语句中。,二进制常量:以字母B开头,后跟一对撇号或双引号括起来的数字串,数字不是0就是1。如 B10101101、B“1011101“,八进制常量:
2、以字母O开头,后跟一对撇号或双引号括起来的数字串,数字是0到7之间的数字。例如,O453、O“376“。,十六进制常量:以字母Z开头,后跟一对撇号或双引号括起来的数字串,且每个数字是0到9或字母A到F之间的一个。例如,ZFFA9、 Z“9B45“ 。,INTEGER i, j, k DATA i /B110010/ DATA j /O62/ DATA k /Z32/,整型变量的说明,格式: INTEGER ( KIND = 类别参数值 ) ,属性列表: 变量列表,类别参数可缺省,取决于计算机的字长, 对于32 位计算机默认为 231 231-1,类别参数值取: 1 2 4 8 对应字节数 :
3、1 2 4 8,可等价写成: INTEGER*2 : K,LIMIT INTEGER*4 : MIN,MAX,例:INTEGER I,TOTAL INTEGER(2):K,LIMIT INTEGER(KIND=4):MIN,MAX,使变量具有符号常量属性: integer(4) , parameter : n=10,使变量具有数组属性: integer , dimension(1:10) : A,实型常量的表示方法: 小数形式 _类别参数 有效数E指数 _类别参数 有效数D指数,5.3 实型数据,FORTRAN用类别类型参数区分不同类型的实型数据。实型数据有单精度和双精度之分。单精度类别类型参
4、数值为4,双精度数类别类型参数值为8。默认的类别参数是4。,D表示双精度实型常量,此时禁用类别参数,单精度:3.45E2 12.3E2_4 双精度:5.3D-2 (表示 5.3*10-2) 表示为: 5.3E-2_8 但不能写成:5.3D-2_8 .052D0 .052_8,实型变量的说明,REAL : x,y !单精度 REAL(4):DX,DY 或:REAL*4 : DX,DY !单精度 REAL(8):a1,b2 或:REAL*8 : a1,b2 !双精度 DOUBLE PRECISION : a6,b8 !双精度,REAL (KIND = 类别参数值) ,属性列表:变量列表,单精度用R
5、EAL(4)定义, 双精度用REAL(8)或DOUBLE PRECISION定义。 缺省的类别值为4,即为单精度。,5.4 复型数据,a,b 类别不同,低向高转换类别,复型常量的表示方法,复数 a+bi 表示为 (a, b), 其中是a,b一对实数常量,例如:(1.25, 0.4) 表示复数1.25+0.4i (1E2, -3.4) 表示复数 100.0-3.4i,复型数据的类别类型参数是用于说明实部和虚部这两个实型数据的类别类型。,a,b都为整型或都为默认实型,则得到默认复型,复型变量的说明,COMPLEX (KIND= 类别值) ,属性列表:变量列表,COMPLEX Z1,Z2 !单精度复
6、型变量 COMPLEX(4) : COM_VAL !单精度复型变量 COMPLEX(8) : CZ, CQ !双精度复型变量,CZ = (3.0, 6.3) 复型常量赋给复型变量 CQ = (8.76E+5, -67.8E-3) C = CMPLX(3.0*A, 6.0+B) 实部虚部含变量,用CMPLX函数将实部和虚部组成复型数据再赋给复型变量。,P75 例5.5 有一线段AB,A的坐标为(1,1),B的坐标为(4.5,4.5)。求AB的长度,以及黄金分隔点C的坐标。黄金分割点在线段的0.618处。,分析:A,B的坐标可用复数表示:即A为(1.0,1.0),B为(4.5,4.5)。AB的长度
7、就是(A-B)的模,可用ABS函数直接求出复数的模ABS(A-B)。黄金分隔点C的坐标为A+0.618(B-A)。,PROGRAM COMP_3 IMPLICIT NONE COMPLEX:A,B,C REAL:L READ*, A, B C=A+0.618*(B-A) L=ABS(A-B) PRINT*, L=,L PRINT*, C=, C END PROGRAM COMP_3,输入:( 1.0 , 1.0 ),( 4.5 , 4.5 )回车 以2个实数作为一个复型数据,第一个实数为复数的实部,第二个实数为虚部,用括号括起来。,输出:L=4.949748 C=(3.163000, 3.16
8、3000),5.5 字符型数据,字符型常量 (字符串常量),用单撇号或双撇号括起来的字符序列。,china 12345 -234.4 “-234.4”,在字符串内部的空格是有效字符,当字符串本身含有单撇号时,例如要将Im a boy作为一个字符串来处理,可采用两种方式表示: Im a boy 用双撇号作定界符 Im a boy 用单撇号作定界符,将字符串的单撇号用两个单撇号表示。,字符串的长度:字符串内字符的个数。,例: abcff 的长度为 5,和为空串,长度为0。,字符型变量,CHARACTER( LEN= n ), 属性说明 : ,变量列表,n:变量的长度,character(len=1
9、5):a,b,c !长度均为15的字符变量a,b,c,等价于:character *15:a,b,c,等价于:character (15):a,b,c,Character (len=10), parameter:name=fortran 90,CHARACTER(LEN=8),DIMENSION(1:10):X,Y,Z,CHARACTER(LEN=15):A, B*8, C*5 A的长度为15,B的长度为8, C的长度为5,,注:以下情形均可以采用* 来说明长度 (1)character(len=*),parameter:name=fortran90 具有PARAMETER属性的字符常量,给出
10、的字符串长度是确定的,因此字符符号常数name的长度等于9,可用*说明。,(2)用字符变量做虚参时,一般可以不具体指明长度。,子字符串,子字符串的表示方法:字符变量名(m:n),m,n:整数,表示子串在字符串中的起止位置,子字符串的长度:n-m+1 (nm1),例如: CHARACTER(LEN=80):ROW ROW(4:7) ROW字符串中从第4个字符到第7个字符组成的一个子串,其长度为4 ROW(I:I) 表示该字符型变量的第I个字符 row(:5) 相当于row(1:5) row(5:) 相当于row(5:80) row(:) 相当于row(1:80),字符表达式与字符赋值语句,(1)
11、字符连接符/ 将两个字符型数据连接起来,成为一个字符型数据 例:“human”/“shanghai”的值“humanshanghai”,(2)赋值,PROGRAM CHAR_1 CHARACTER(LEN=5):A, B, C CHARACTER(LEN=11):D A= abcde B= fghij C=A D=A/ /B PRINT*, C, D END PROGRAM CHAR_1,当赋值号两端数据的字符长度不等时,character(len=7):a, b*2 a=abcd b=ef a= a/b a= b/a,结果 a=“abcd”,结果 a=“efabcd”,character(l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Fortran 数据类型
链接地址:https://www.31doc.com/p-2090119.html