Fortran95程序设计基础.ppt
《Fortran95程序设计基础.ppt》由会员分享,可在线阅读,更多相关《Fortran95程序设计基础.ppt(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、程序设计基础程序设计基础 Fortran 95第二章第二章 Fortran95 程序设计基础程序设计基础 本章将介绍本章将介绍:字符集、标识符和关键字字符集、标识符和关键字程序的书写格式程序的书写格式数据类型数据类型常量和变量常量和变量算术运算符和算术表达式算术运算符和算术表达式标准函数标准函数 了解字符集、标识符和关键字了解字符集、标识符和关键字 了解程序的固定书写格式了解程序的固定书写格式 掌握程序的自由书写格式掌握程序的自由书写格式 掌握五种内部数据类型的表示及存储方式掌握五种内部数据类型的表示及存储方式 掌握五种内部数据类型常量的合法表示方式掌握五种内部数据类型常量的合法表示方式 掌握
2、变量的表示形式和变量的三种定义方法。掌握变量的表示形式和变量的三种定义方法。掌握算术运算符和算术表达式的运算顺序掌握算术运算符和算术表达式的运算顺序 了解标准函数,并了解标准函数,并掌握部分常用的标准函数掌握部分常用的标准函数。学习目标:学习目标:Fortran95的字符集的字符集 字符集就是编写源程序时字符集就是编写源程序时能够使用的全部字符及能够使用的全部字符及符号的集合符号的集合。包括:。包括:(1)英文字母)英文字母a-z及及A-Z(2)阿拉伯数字)阿拉伯数字0-9(3)22个特殊字符个特殊字符=+-*/(),.:“!;%&?$_ 空格(空格(Tab)Fortran的的源源程程序序就就
3、是是上上述述字字符符及及符符号号按按照照词词法法、语法和语义的规定对算法的描述语法和语义的规定对算法的描述。在编写源程序时需要注意的是:在编写源程序时需要注意的是:(1)除除字字符符型型常常量量外外,源源程程序序中中不不区区分分字字母母的的大大小小写写,如语句如语句“ReaL a”和和“real A”是等价的。是等价的。(2)字字符符集集以以外外的的可可打打印印字字符符,只只能能出出现现在在注注释释、字字符常量符常量、字符串编辑符字符串编辑符和和输入输出记录输入输出记录中。中。Fortran95的字符集的字符集 标识符标识符即即名称名称,是用来在程序中,是用来在程序中标识有关实体标识有关实体(
4、如:变量、符号常量、函数、程序单元、公用块、(如:变量、符号常量、函数、程序单元、公用块、数组、模块和形参等)。数组、模块和形参等)。Fortran95的标识符的标识符 Fortran 95规定:标识符只能由规定:标识符只能由字母、数字、字母、数字、下划线和美元符号下划线和美元符号“$”组成组成,且,且起始字符必须是起始字符必须是英语字母。英语字母。【例2-1】判定下列标识符中哪些是合法标识符?哪些是非法标识符?并解释判定下列标识符中哪些是合法标识符?哪些是非法标识符?并解释非法标识符的错误原因。非法标识符的错误原因。Number,Max,X-YZ,小红,小红,8_student,b.4,ch
5、ina,_abc,$_write,r e a d,a$b,a?b_c。答:答:合法标识符有合法标识符有:number,Max,china,a$b。非法标识符有非法标识符有:X-YZ,小红,小红,8_student,b.4,_abc,$_write,r e a d,a?b_c。Fortran95的关键字的关键字 关键字是关键字是Fortran95中的一种特定字符串。中的一种特定字符串。如如 read*,a,b read是关键字。是关键字。类类似似的的关关键键字字有有:print、write、program、integer、do、if、then、end、subroutine、function等。等
6、。在在编编译译环环境境中中正正确确的的关关键键字字会会以以蓝蓝色色字字符符显显示示。关关键键字字都都有有特特定定的的含含义义,在在程程序序中中有有具具体体的的位位置置要要求求,不能随意改变,否则将产生一个语法错误。不能随意改变,否则将产生一个语法错误。Fortran95的关键字的关键字 Fortran95对对于于关关键键字字不不予予保保留留,即即允允许许其其关关键键字字作作为为其其他他实实体体的的名名称称。但但是是,不不主主张张这这样样做做,因因为为使使用用关关键键字作为实体名称会到导致程序难以理解和阅读字作为实体名称会到导致程序难以理解和阅读。例例如如:用用户户可可以以将将自自己己的的变变量
7、量名名、数数组组名名等等命命名名为为read、print、end、integer、program、print、do等等关关键键字字,编编译译程程序序会会根根据据上上下下文文来来识识别别一一个个字字符符串串究究竟竟是是关关键键字字还还是实体名称。是实体名称。Fortran 95程序的书写格式程序的书写格式n固定格式(固定格式(Fixed FormatFixed Format)n自由格式(自由格式(Free FormatFree Format)每每种种程程序序设设计计语语言言对对程程序序书书写写格格式式都都有有具具体体的的规规定定,书书写写格格式式反反映映了了程程序序语语言言独独特特的的书书写写风
8、风格格。Fortran语语言程序的书写格式有两种:言程序的书写格式有两种:每行每行80个字符,分成四个区:个字符,分成四个区:n第第15列为列为标号区标号区。第。第1列为列为C或或*,说明此行为注释行。,说明此行为注释行。n第第6列为列为续行标志区续行标志区。续行标志是除空格和零以外的任何。续行标志是除空格和零以外的任何FORTRAN 字符。字符。n第第772列为列为语句区语句区。语句可以从第。语句可以从第7列以后任何位置开始列以后任何位置开始书写。但一行只能写一个语句。书写。但一行只能写一个语句。n第第7380列为列为注释区注释区。固定格式固定格式备注:备注:Fixed Format(固定格
9、式)是传统的书写方式,对于(固定格式)是传统的书写方式,对于书写内容应在那一行的那一列上都有严格规定,过于刻板。书写内容应在那一行的那一列上都有严格规定,过于刻板。在自由格式源程序中,书写不再有分区和位置限制。在自由格式源程序中,书写不再有分区和位置限制。自由格式规定:自由格式规定:(1)源程序可以从任何位置开始书写,每行可以编写源程序可以从任何位置开始书写,每行可以编写132个字符。个字符。(2)一行可以写多个语句,语句之间用)一行可以写多个语句,语句之间用“;”分隔,但分隔,但最后一个语句不允许有标点符号。最后一个语句不允许有标点符号。例如:例如:X=23.5;Y=-467.0;Z=X+Y
10、自由格式自由格式(3)当当一一个个语语句句比比较较长长时时,在在一一行行中中的的132列列中中书书写写不不完完时时,允允许许有有续续行行。如如有有续续行行,需需要要使使用用续续行行标标志志符符“&”实实现现。续行标志符。续行标志符“&”出现在前一行的末尾。出现在前一行的末尾。例如:例如:Y=exp(-0.5*x)*cos(x+3.14258/3)+exp(0.5*x)*&sin(x+3.14258/3)+120*log(1+sqrt(1-x*x)自由格式自由格式 如如果果把把一一个个语语句句名名或或函函数数名名等等具具有有特特定定意意义义的的字字符符分分成成两两行行,那那么么除除在在本本行行行
11、行末末加加续续行行标标志志符符外外,还还要要在在下下一一行行的的开头再加一个续行标志符。例如开头再加一个续行标志符。例如:Y=COS(ATAN(SQRT(X*3+Y*3)/(X*2+1)+CO&S(X*Y/(SQRT(X*2+Y*2)&+EXP(A*X*2+B*X+C)特殊情况:特殊情况:(4)用用!作作为为注注释释符符,!可可以以写写在在一一行行中中的的任任一一位位置置。注注释释总总是是延延伸伸至至程程序序行行的的结结束束,所所以以在在同同一一行行的的不不同同语语句句之间不能插入注释。之间不能插入注释。Fortran 95程序的书写格式程序的书写格式自由格式自由格式n一一个个程程序序中中,数
12、数据据是是程程序序加加工工处处理理的的对对象象,而而通通过过语语句描述了对数据的具体操作。句描述了对数据的具体操作。n不不同同类类型型的的数数据据具具有有不不同同的的特特性性,在在计计算算机机内内存存中中占占有有不不同同的的存存储储长长度度,存存储储的的方方式式不不同同,具具有有不不同同类类型型的运算。的运算。Fortran 95的数据类型的数据类型 Fortran 95的数据类型的数据类型整数类型(整数类型(integer)长整型长整型 短整型短整型 整型数据包括整型数据包括正整数、负整数和零正整数、负整数和零。在计算机中在计算机中整数的取值范围受限于及其所整数的取值范围受限于及其所能表示的
13、范围,由其类型决定能表示的范围,由其类型决定.整数类型(整数类型(integer)整型整型类类型名型名字字节节数数取取值值范范围围 integer(1)1-128127(-27+27-1)短整型短整型 integer(2)2-3276832767(-215215-1)长长整型整型 integer4-21474836482147483647(-231231-1)integer(8)8-263263-1(alpha系系统统)超出此范围,则会发生溢出错误。超出此范围,则会发生溢出错误。表表2.2 整数的存储空间及取值范围整数的存储空间及取值范围实数类型(实数类型(real)实数又称为实数又称为浮点数
14、(浮点数(floating-point number)。实行数据有两种类型:实行数据有两种类型:单精度型单精度型 双精度型。双精度型。数值都是近似值,而且有误差累计。数值都是近似值,而且有误差累计。实型数两种表示形式:实型数两种表示形式:十进制小数形式十进制小数形式和和指数形式指数形式 如:如:312.0、3.12e+2或或0.312E3都代表都代表3.12102。注意注意:指数部分必须是整数指数部分必须是整数(若为正整数时,可以省略(若为正整数时,可以省略“+”号)号)双精度类型,即以两倍的单精度的存储空间大小来存放数据,减小累计的截断双精度类型,即以两倍的单精度的存储空间大小来存放数据,减
15、小累计的截断误差,大幅度提高计算的精度。误差,大幅度提高计算的精度。实数类型(实数类型(real)实实型型类类型名型名字字节节数数精度精度(有效数字)(有效数字)取取值值范范围围单单精度精度4673.40282347E381.17549435E-38双精度双精度815162.2250738585072013D3081.7976931348623158D-308表表2.3 实数的存储空间、精度及取值范围实数的存储空间、精度及取值范围复数类型(复数类型(complex)复数就是以复数就是以 a+bi形式来表示的数值。形式来表示的数值。其中的其中的a、b值是两个值是两个实型数实型数。两种类型两种类型
16、:单精度型复数单精度型复数和和双精度型复数双精度型复数。复数的表示形式复数的表示形式:(a,b)如(如(1.2,3.5),表示复数),表示复数1.2+3.5i。FortranFortran是目前唯一提供复型数据类型的计算机常用语言。是目前唯一提供复型数据类型的计算机常用语言。字符类型字符类型(character)计计算算机机除除了了存存储储数数值值型型数数据据之之外外,也也可可以以在在内内存存中中存存放放一段文本。一段文本。字符型数据的表示形式:字符型数据的表示形式:用用一对单引号一对单引号或或双引号括双引号括起来。起来。如:如:a “hello!”只有只有一个字母或符号一个字母或符号时称为时
17、称为“字符字符”,有有一连串(多个)的字符一连串(多个)的字符时,就称为时,就称为“字符串字符串”。存储存储1个字符个字符需要需要1个字节个字节的存储空间的存储空间 存储存储n个字符个字符长度的字符串则需要长度的字符串则需要n个字节个字节的存储的存储空间空间字符类型字符类型(character)字符类型可以表示的东西非常广,从键盘输入的字符类型可以表示的东西非常广,从键盘输入的任何内容,不论是数字、字母、文本或任何特殊符号任何内容,不论是数字、字母、文本或任何特殊符号都可以。都可以。教教材材附附录录A的的ASCII字字符符集集里里的的字字符符就就是是这这个个类类型型所能表示的所有字符。所能表示
18、的所有字符。逻辑类型逻辑类型(logical)表示逻辑判断的结果表示逻辑判断的结果,只能只能有两种值:有两种值:“是是”(true)“否否”(false)也可以翻译成也可以翻译成“对对”、“错错”,或,或“真真”、“假假”等等。等等。数据类型数据类型只是只是数据的形式化和抽象化描述数据的形式化和抽象化描述,它,它说明一类数据的共同性质,而说明一类数据的共同性质,而不是具体的数据对象不是具体的数据对象。程序处理的数据必须是具体的数据对象程序处理的数据必须是具体的数据对象,一个数据,一个数据对象可以是对象可以是常量、变量、数组或指针常量、变量、数组或指针等,等,用户根据用户根据具体问题的需要定义数
19、据对象的数据类型。具体问题的需要定义数据对象的数据类型。小结小结常量常量 常量是在程序中直接生成并直接用于计算和处理,且在常量是在程序中直接生成并直接用于计算和处理,且在程序运行期间保持不变的数据。程序运行期间保持不变的数据。例如:例如:15、0、-21、.1416、256_2、(10.2,5.3)、fortran、”student”、.true.常量无需类型定义、直接由其表示形式可确定其数据类型。常量无需类型定义、直接由其表示形式可确定其数据类型。Fortran常量包括前面所介绍的常量包括前面所介绍的五种内部类型常量五种内部类型常量和和一种特一种特殊的常量殊的常量符号常量符号常量,下面分别介
20、绍它们的表示方法及其注意,下面分别介绍它们的表示方法及其注意事项。事项。整型常量可以表示成整型常量可以表示成十进制十进制及及2至至36进位制进位制形式。形式。整型常量:整型常量:(1)十进制整数:十进制整数:由由09的一系列数字组成。的一系列数字组成。例如例如-215、-16、0、18、24等。等。对对于于十十进进制制整整数数,通通过过整整型型kind值值(类类别别类类型型参参数数)确确定定整整数数的的存存储储空空间间大大小小(字字节节数数)和和取取值值范范围围。例例如如-16_2、18_4、5_1 整型整型kind值有四种值有四种(默认值为默认值为4):1、2、4、8(仅对(仅对alpha系
21、统有效)系统有效)(2)2至至36进位制数:进位制数:其形式其形式r#数字数字。r前面的符号前面的符号代表代表整数的正负整数的正负r代表进位计数制中的代表进位计数制中的基数基数其取值范围是:其取值范围是:2r36。常用的进制有:常用的进制有:2、8和和16进制。进制。缺省值为缺省值为16。整型常量整型常量【例例2-2】一个一个10进制整数进制整数3994575的不同进位制表达形式的不同进位制表达形式 print*print*,7#45644664 print*,+8#17171717 print*,3994575 print*,#3CF3CF print*,36#2DM8F end整型常量整型
22、常量整型常量整型常量程序运行结果:程序运行结果:注意注意:Fortran95Fortran95不允许不允许整数内部出现非数值字整数内部出现非数值字符符 如如“,”、“:”和和空格空格;正负号和正负号和数字数字之间可以保留空格之间可以保留空格。整型常量整型常量【例例2-3】判定下列整数哪些是合法整数?哪些是非法判定下列整数哪些是合法整数?哪些是非法整数?说明原因。整数?说明原因。+0 4654_3 -128 +32769 12.45 134_1 8#79 6#23#12A#12_2 1,234 -0 123,456。整型常量整型常量合法整数有:合法整数有:+0、-128、+32769、#12A、
23、-0。非法整数有:非法整数有:4654_3(3不是有效的不是有效的kind值)值)12.45(不允许小数点)(不允许小数点)134_1(超出(超出1个字节取值范围)个字节取值范围)8#79(8进制中不能包含数字进制中不能包含数字9)6#23(不允许出现空格)(不允许出现空格)#12_2(非十进制不允许使用(非十进制不允许使用kind值)值)1,234(不允许出现逗号)。不允许出现逗号)。整型常量整型常量 实型常量有实型常量有2种表示形式:种表示形式:十进制小数形式十进制小数形式和和指数形式指数形式。(1)十进制小数形式十进制小数形式 十进制小数三部分组成十进制小数三部分组成整数部分整数部分、小
24、数点小数点、小数部分。小数部分。且且必须包含小数点必须包含小数点。例如:。例如:+12.5、-13.248、0.243、12.和和.123 十进制小数有十进制小数有 3种不同表达形式:种不同表达形式:n.m n.m实型常量实型常量 n代表整数部分,代表整数部分,m代表小数部分,代表小数部分,不允许出现非不允许出现非数值字符(如逗号、顿号和空格等)数值字符(如逗号、顿号和空格等)。对对于于实实数数,通通过过实实型型kind值值确确定定实实数数的的存存储储空空间大小间大小、取值范围取值范围和和最大有效位数(精度)最大有效位数(精度)。实实型型kind值值有有两两种种4、8(缺缺省省值值为为4)分分
25、别别表示表示单精度实数单精度实数和和双精度实数双精度实数。实型常量实型常量【例例2-4】判定下列实数,哪些是合法实数?哪些是非法判定下列实数,哪些是合法实数?哪些是非法实数?说明原因。实数?说明原因。+00.0.023.587_4654._5-.-.01200-34.6¥1,234,897.00$125.5。实型常量实型常量合法实数有合法实数有:0.0、.0、23.587_4、-.01200。非法实数有非法实数有:+0(合法整数,没有小数点)(合法整数,没有小数点)654._5(非法的实型(非法的实型kind值)值)-.(小数点前后不能都没有数字)(小数点前后不能都没有数字)-34.6¥、¥、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Fortran95 程序设计 基础
限制150内