FORTRAN语言第2章(共8章).ppt
《FORTRAN语言第2章(共8章).ppt》由会员分享,可在线阅读,更多相关《FORTRAN语言第2章(共8章).ppt(103页珍藏版)》请在三一办公上搜索。
1、第一节 FORTRAN常量第二节 FORTRAN变量第三节 FORTRAN内部函数第四节算术表达式第五节赋值语句第六节表控输入/输出语句第七节END、PAUSE、STOP语句,第二讲 顺序结构程序设计,第一节 FORTRAN常量,Fortran的语言元素是指在程序设计中所用到的基本成分,例如字符集、常量、变量、记号以及其它的基本结构等。只有了解并掌握了这些基本要素,才可能正确自如地使用该种语言。,一、FORTRAN字符集,26个英文字母,(除了字符串内的字符外,程序中小写字母等价于相应的大写字母)数字09 _(下划线)22个特殊字符,空格=+-*/(),:.$!”%&;?,Fortran的源程
2、序就是上述字符及符号按照词法、语法和语义的规定对算法的描述。在编写源程序时需要注意的是:(1)除字符型常量外,源程序中不区分字母的大小写,如语句“ReaL a”和“real A”是等价的。(2)字符集以外的可打印字符,只能出现在注释、字符常量、字符串编辑符和输入输出记录中。,Fortran的字符集,二、FORTRAN标识符,第一节 FORTRAN常量,标识符即名称,是用来在程序中标识有关实体(如:变量、符号常量、函数、程序单元、公用块、数组、模块和形参等)。,Fortran 95规定:标识符只能由字母、数字、下划线和美元符号“$”组成,且起始字符必须是英语字母。,Fortran的关键字,关键字
3、是Fortran95中的一种特定字符串。如 read*,a,b read是关键字。类似的关键字有:print、write、program、integer、do、if、then、end、subroutine、function等。在编译环境中正确的关键字会以蓝色字符显示。关键字都有特定的含义,在程序中有具体的位置要求,不能随意改变,否则将产生一个语法错误。,Fortran对于关键字不予保留,即允许其关键字作为其他实体的名称。但是,不主张这样做,因为使用关键字作为实体名称会到导致程序难以理解和阅读。例如:用户可以将自己的变量名、数组名等命名为read、print、end、integer、progra
4、m、print、do等关键字,编译程序会根据上下文来识别一个字符串究竟是关键字还是实体名称。,一个程序中,数据是程序加工处理的对象,而通过语句描述了对数据的具体操作。,不同类型的数据具有不同的特性,在计算机内存中占有不同的存储长度,存储的方式不同,具有不同类型的运算。,数据类型只是数据的形式化和抽象化描述,它说明一类数据的共同性质,而不是具体的数据对象。程序处理的数据必须是具体的数据对象,一个数据对象可以是常量、变量、数组或指针等,用户根据具体问题的需要定义数据对象的数据类型。,三、FORTRAN常量,常量定义:常量是在程序中直接生成并直接用于计算和处理,且在程序运行期间保持不变的数据。,第一
5、节 FORTRAN常量,例如:15、0、-21、.1416、256_2、(10.2,0.3)、fortran、”student”、.true.,常量无需类型定义、直接由其表示形式可确定其数据类型。Fortran常量包括整型、实型、复型、字符型和逻辑型五种内部类型常量和一种特殊的常量符号常量,下面分别介绍它们的表示方法及其注意事项。,三、FORTRAN常量1、整型常量,整型常量由09的一系列数字组成,包括正数、负数和0。如125,258,28等。注意:(1)Fortran95不允许整数内部出现非数值字符 如“,”、“:”和空格;(F77中整数的空格被忽略,而F90及以上版本整数加入空格将产生错误
6、)(2)整型常量不能有小数点;(3)正负号和数字之间可以保留空格。,第一节 FORTRAN常量,三、FORTRAN常量1、整型常量,整型数据:微机支持4种kind_Value:1,2,4,8(1)范围:-128127(2)范围:-3276832767(3)-21474836482147483647(-231231-1)(4)-92233720368547758089223372036854775807 Integer F77默认kind_Value的值为2,第一节 FORTRAN常量,三、FORTRAN常量2、实型常量 实型常量又叫实数,有两种表示形式:小数形式和指数形式 十进制小数形式:由整
7、数部分、小数点及小数部分三部分组成,必须包含小数点。,第一节 FORTRAN常量,例如:+12.5、-13.248、0.243、12.和.123 十进制小数有 3种不同表达形式:n.m n.m,n代表整数部分,m代表小数部分,不允许出现非数值字符(如逗号、顿号和空格等)。,三、FORTRAN常量2、实型常量 指数形式:用来表示一个绝对值非常大或非常小的数。,第一节 FORTRAN常量,指数形式的实数三部分组成:有效数字、E(或e)和指数。例如:+0.125E+2、-132.48e-1、243E-3、.12e+2,1.2e+1 1.32e5表示132000或1.32105。1.285E-12表示
8、1.28510-12。,指数形式的实数有下列四种表达方式:n.mES n.ES nES.mES,n代表有效数字的整数部分,m代表有效数字的小数部分,最前面的正负号表示数值的正负。字符E后面是指数部分,正负号确定指数的正负,指数必须是十进制整数,表示10的多少次方。字符E前后均不能为空。有效数字部分和指数部分的数字遵循整数和小数形式实数的要求。若指数标识为D或d,则表示该实数为双精度实数。,第一节 FORTRAN常量,指数形式应注意以下事情:有效数字可以是整型或实型常量,如1E2和1.0E2两者都表示100.0,它们等价,但它们与100是不等价的,因为100代表一个整型常量;E前面的数据不能省略
9、,E后面的指数只能是整型常量,如5E3.2,E4.,.E8都是错误的指数表示。若指数标识为D或d,则表示该实数为双精度实数,等价于kind值为8,但不能指定kind值,即d指数不允许指定实型kind值。,【例】判定下列实数,哪些是合法实数?哪些是非法实数?说明原因。1,234,567E-6.123E-1 12.3E$3¥125.5E001E+5-2.34E24.5 6E21.35E+3 11.24E+312.5D34,合法实数有:0E0、0.E0、.123E-1、-2.34E2、1.35E+3、12.5D34。非法实数有:(指数部分不能为实数)9.8E3_3(非法的实型KIND值)1,234,
10、567E-6(不能含非数值字符)12.3E$3(不能含非数值字符)¥125.5E001(不能含非数值字符)E+5(E 前面不能为空)4.5 6E2(不能含非数值字符空格)11.24E+3(指数部分的正负号与数字之间不能有空格),在计算机输出数据时,只能按照一种标准的指数形式进行输出。不同的计算机系统采用不同的标准化指数形式,常用的标准化形式有二种。,1.数字部分的绝对值小于1(即小数点前面的数字必须为0),且小数点后第一个数字必须为一个非0的数字。例如,0.1234E4、0.56E-3是标准化指数形式。对于不符合标准化条件的实数,可以通过改变指数部分的数值使其转变为标准化指数形式。例如实数0.
11、0001234的标准化指数形式是0.1234E-3。2.数字部分的绝对值小于10且大于1(即小数点前只能有且只有一个非0数字)。例如,1.234E3、5.6E-4是标准化指数形式。对于不符合标准化条件的实数,可以通过增大或减小指数部分的值使其转变为标准化指数形式。例如实数0.0001234的标准化指数形式是1.234E-5。,三、FORTRAN常量3、复型常量,复型常量是采用圆括号将两个以逗号分割的实数或整数括起来表示的。其中第一个实数或整数表示复数中的实部,第二个实数或整数表示复数中的虚部。(实数1,实数2)实数1+实数2i(1.25,0.4)1.25+0.4ii(1.0_4,4.2_8)1
12、.0_8+4.2_8i(1,4)1.0+4.0i,转换原则是:遇整变实,向高看齐,在Fortran语言中,复型常量的实部和虚部的数据类型被自动识别为实型。当复数实部和虚部的数据类型不一致,或它们的kind值不同时,编译系统会自动将其转换。,三、FORTRAN常量4、字符常量,字符型常量又叫字符串,它是用单引号或双引号括起来的字符序列。例如,“a”、“123”、“Im a student.”、China、我是中国人!字符型常量中的字符可以是计算机系统中允许使用的任何字符。在字符串内大小写字母均可使用,但它们是不同的字符。单引号和双引号只起定界作用,它们不是字符串的组成部分。,字符串本身中含有单引
13、号或双引号的处理:,例如要将Im a student作为一个字符串来处理,为了区分是字符串中的字符还是定界符,可采用两种方式表示:1.交替使用法,I m a student He said:I am feeling well.2.重复使用法,Im a student He said:Im feeling well.,字符串内字符的个数称为字符串的长度。长度为0的字符串称为空串。在字符串内部的空格是有效字符,并占有一个字符的位置。例如,ABC 和A B C 是两个不同的字符串。前者字符串的长度为3,后者为5。字符串中的一个西文字符占据一个字节的存储空间,一个汉字(含汉语标点符号)占据2个字节的存
14、储空间,且按两个西文字符计算长度,如字符串中国的长度是4。,字符通常是以其ASCII代码的二进制存储在内存中的。,Fortran90支持C字符串,所谓C字符串就是C语言中的字符串。C字符串中允许出现非打印字符(控制字符),如回车符、换行符、退格符等等。C字符串中使用特殊字符“”后 跟非打印字符的ASCII码或标志符来表示非打印字符。Fortran90中,如果一个字符串的后面紧接一个字符C,那么这个字符串就是C字符串。例如,中国NC CHINAC.通过C字符串可表示任何可输出的字母字符、专用字符、图形字符和控制字符。,一个字符常量需要写成多行源程序时,有一条特殊的规则:不仅每一续行都不能尾随注释
15、,而且每一续行必须以续行标识符(&)作为开头,任何尾随&号之后或者前导&号之前的空格都不是字符常数的组成部分,&号本身不是常数的组成部分。其它的字符包括空格都是字符常数的有效组成部分。,三、FORTRAN常量5、逻辑常量,逻辑常量只有真和假两种值:.true.false.。需要注意的是:逻辑值两边的小数点“.”必须有;逻辑值中字母不区分大小写。,三、FORTRAN常量,6、符号常量,符号常量是用一个标识符来代表一个常量。符号常量常用PARAMETER语句来定义。例如:PARAMETER(PI3.1415926,g9.81)该语句定义了两个符号常用PI和g,在该程序单位内,PI代表3.14159
16、26,g代表9.81。,parameter为特有的常量定义标识,要定义的项必须放在()内,如果有多项,每项之间要用逗号隔开。,Parameter 语句位置:位于所有可执行语句之前。符号常量的定名规则与定变量名相同。名字本身隐含类型,也遵循IN规则。可以用类型说明语句定义符号常量的类型。例:INTEGERPPARAMETER(P5),注意:先写类型说明语句,后写参数语句在一个参数语句中可以定义多个符号常量。,注意,符号常量与变量有着本质的区别:PARAMETER语句是非执行语句,必须放在可执行语句的前面。在编译源程序时,编译程序将程序中的符号常量名全部替换成所对应的常量。变量对应于一个存储单元,
17、程序执行时,可将表达式的值存放到变量所对应的存储单元中(即给变量赋值)或从变量所对应的存储单元中取出相应的值。所以,符号常量不能当变量使用。符号常量也可以在需要改变一个常量的值时做到“一改全改”。,【例】符号常量的使用示例。parameter(g=9.80655)t=10 v=g*t print*,v End 该语句定义了符号常量g,在该语句所在的程序单元内,g都代表9.80655,和常量一样进行运算。,一、变量的概念,第二节 FORTRAN变量,变量是程序运行期间其值发生改变的数据,是程序主要处理的对象。变量用变量名(标识符)表示,它代表了某个存储空间及所存储的数值。,在Fortran中经常
18、可以如下语句:n=n+1该语句理解为:“空间n里的数据增加1”。,+1,6,5,1)FORTRAN变量名不区分字母的大小写,如grade、GRADE、Grade所表示的是同一个标识符。2)变量名的长度因FORTRAN版本不同而有差异。3)变量名要尽量做到“见名知义”。4)FORTRAN没有规定的“保留字”,因此FORTRAN中具有特定意义的语句名、函数名可以用作变量名。但为避免误解,在实际中要尽量避免使用这些有一定意义的符号名作为变量名。,二、变量名,三、变量的说明,在使用变量之前,必须用相关标识符(关键字)说明变量的数据类型,使编译器能够依照数据类型给每个变量分配存储单元,用于存放变量的值。
19、说明语句是非执行语句,要放在程序单元的头部。实行“先定义,后使用”。,三、变量的说明,FORTRAN中变量类型的定义有三种方式:1.使用类型说明语句说明(强制说明)一般格式为:类型说明符:变量名,变量名 注意:符号“:”,在变量定义语句中可有可无。若有可对变量赋初值,否则不能赋初值,赋值则会出错。,integer 整型说明符real 实型说明符double precision双精度型说明符complex 复型说明logical 逻辑型说明character 字符型说明,类型说明符为:,例如:integer x,y,z!定义x、y和z是整型变量。integer(2):a=1,b Integer*
20、2:a=1,b!定义a、b是短整型变量,对变量a赋初值1,缺省值为4real i!定义i是单精度实型变量real*8 J 或real(8)J!定义J是双精度实型变量,complex:s=(1.5,8.9)!定义s是单精度复型变量,并对其赋初值(1.5,8.9)character name!定义name是字符型变量Character*6 name1 Character(6)name1,name2*8,name4Character(len=6)name3,字符型说明语句用于说明字符型变量。其一般形式为,CHARACTER n 变量名表,其中n为正整数。在变量名表中的各变量名之间要用逗号分隔。,字符
21、型变量用于存放字符型常量(即字符串)。由于字符串的长度是各不相同的,因此,在说明字符型变量时,同时要说明其长度。,例如:说明语句,CHARACTER 6A,B,C,说明了变量A、B、C为字符型变量,且每个变量中最多可以存放 6 个字符。这是一种统一指定各字符变量长度的方法。,在 FORTRAN中还允许用一个说明语句来定义不同长度的字符型变量。,CHARACTER A 6,B 10,C 3,这个说明语句说明了3 个字符型变量,其中A 的长度为6(即最多可以存放6 个字符,下同),B的长度为10,C的长度为3。这是一种个别指定各字符变量长度的方法。这个说明语句分别与下列三个说明语句是等价的:,CH
22、ARACTER 6 A,B 10,C 3,CHARACTER 10 A 6,B,C 3,CHARACTER 3 A 6,B 10,C,这表明,当统一指定的长度与个别指定的长度不一致时,遵循“个别指定”优先于“统一指定”的原则。,如果在CHARACTER 说明语句中对各字符型变量既没有统一指定长度,也没有个别指定长度,则默认长度为1,即一个字符型变量只能存放一个字符。,例如,说明语句CHARACTER A,B,C,说明了三个字符型变量 A、B、C,它们的长度均为1。,2.隐含说明语句implicit,implicit说明语句可以将某个或某些字母开头的变量规定为所需的类型,一般格式为:implic
23、it 类型说明符(变量名起始字符1,变量名起始字符2,)implicit 类型说明符(变量名起始字符1-变量名起始字符2)例如:implicit integer(a,c,t-v),real(e,k)该语句的含义是将以a和c及t到v开头的变量规定为整型,以e和k开头的变量规定为实型。,必须注意,IN规则只适用于整型变量和实型变量,而对于其它类型的变量是不适用的。implicit none 可以取消I-N规则。,3.隐含约定,Fortran语言规定,凡以i,j,k,l,m,n 6个字母开头的变量被默认为整型变量,以其他字母开头的变量被默认为实型变量。该规则又称为IN规则。例如:在没有前面两种说明的
24、情况下,i1,ma,n3s等都为整型变量。,(1)在以上三种变量说明方式中,第一类优先级最高,第二类次之,隐含约定最低。也就是说,当一个变量被强制定义为某种类型时,implicit语句和隐含约定将不再起作用。在implicit语句后可以使用类型定义语句重新说明已隐含定义的变量类型,反之则不允许。,说明:,例如有如下连续说明语句:implicit integer(a-d)!合法 implicit real(c-f)!非法,以字母c和d开头的 变量已被隐含定义为整型变量。integer c,d!合法,类型定义语句比 implicit语句优先。implicit logical(c)!非法,以字母c开
25、头的变量 已被定义为整型变量。,(3)IN规则具有一定的副作用,如隐含说明与强制说明一同使用时,变量类型不清晰,因此一般不提倡使用,可以通过在程序变量说明之前加入:implicit none语句来取消IN规则。,(2)在一个程序中,一个字母不能同时出现在两个或两个以上的implicit语句中。,(4)变量类型说明语句都为非执行语句,应把它们放在所有可执行语句之前,其中implicit语句要放在类型说明定义语句之前。,(5)类型说明只在所在程序单元中有效。,(6)需要特别指出的是,对于字符型变量的说明通常采用的格式为:character(len=n)变量表 格式中的len=n 代表被说明变量的长
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FORTRAN 语言
链接地址:https://www.31ppt.com/p-6505902.html