Fortran讲义-第二章汇总课件_第1页
Fortran讲义-第二章汇总课件_第2页
Fortran讲义-第二章汇总课件_第3页
Fortran讲义-第二章汇总课件_第4页
Fortran讲义-第二章汇总课件_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章Fortran语言初步第二章怎样学习一门计算机语言 基本结构及组成部分 基本语言要素 字符集、命名规则、关键字、对大小写的要求 书写格式、注释方法、语句的顺序 基本数据类型(常量、变量)、数组、派生类型、指针 基本表达式(算术、字符、逻辑、关系、二进制) 主程序、子程序 模块、类 怎样学习一门计算机语言 基本结构及组成部分 基本语言要素 字怎样学习一门计算机语言 基本程序流程(顺序、选择、循环) 编译器的选择 输入输出怎样和外部设备交换数据 子程序 各程序模块之间的信息(数据)交换与共享方式 优化与其它高级技巧 软硬件的搭配 辅助的开发工具 怎样学习一门计算机语言 基本程序流程(顺序、选

2、择、循环) 编Fortran编译器 Intel (Compag) Visual Fortran Absoft Fortran Compiler Lahey Fortran Compiler GNU Fortran Compiler Portland Group (PGI ) Fortran Compiler Salford FTN95 Fortran Compiler Fortran编译器 Intel (Compag) VisuFortran程序的结构Fortran90程序programmoduleblock datacontainssubroutinefunctioncontainscont

3、ainscontains外部子程序内部子程序模块子程序Fortran程序的结构Fortran90程序programFortran的语句 分为非执行语句与可执行语句(有位置顺序)PROGRAM, FUNCTION, SUBROUTINE, MODULE, BLOCK DATAUSEFORMATENTRYIMPLICIT NONEPARAMETERIMPLICITPARAMETER & DATA定义:派生类型、接口块、变量类型、语句函数DATA执行结构CONTAINS内部过程或模块过程ENDFortran的语句 分为非执行语句与可执行语句(有位置顺序Fortran源程序的书写格式 固定格式(*.f

4、or或*.f)Fortran源程序的书写格式 固定格式(*.for或*.fFortran源程序的书写格式Fortran源程序的书写格式Fortran源程序的书写格式lists.forFortran源程序的书写格式lists.for 自由格式(*.f90)和固定格式的比较Fortran源程序的书写格式固定格式自由格式每行字符数80132(VF 中几乎不限制)注释第一列: c *73-80列任意位置:!(第六列除外)任意位置: !每行语句数多条,用;隔开(FORTRAN77只能有1条)多条,用;隔开续行第六列,非0非空格最多续19行&最多续39行Visual Fortran允许续511行语句标号1

5、-5列:199999语句前即可, 199999exam_2_1 自由格式(*.f90)和固定格式的比较Fortran源程序计算机语言语法的形式化定义BNF范式 程序设计语言的基本概念及其描述方式 词法:单词的构成规则 语法:由单词构成语句的规则 语义:语句的实际意义 语用:语句与使用者之间的关系 语境:理解和实现程序设计语言的环境 (编译和运行环境)严格的形式化描述(语法图、BNF范式)自然语言计算机语言语法的形式化定义BNF范式 程序设计语言的基本概 BNF范式定义了一组描述语言的规则元语言 元语言 描述语言的规则(产生式) 对象(程序)语言 产生式中不属于对象语言的符号 元语言符号 计算机

6、语言语法的形式化定义BNF范式 产生式中属于对象语言的符号 终结符 |“_”|“$” “0”|“1”|“2”|“3”|“4”|“5”|“6”|“7”|“8”|“9” “大写英文字母”|“小写英文字母” BNF范式定义了一组描述语言的规则元语言 元语言 计算机语言语法的形式化定义BNF范式元语言符号含义定义为|或者( )括号内对象一定取其中之一 括号内任取一个对象,也可不取 括号内对象可出现零次或多次括号内为元语言符号“ ” 可省略引号内为终结符计算机语言语法的形式化定义BNF范式元语言符号含义定义为Fortran字符集 A | B | C | D | E | F | G | H | I | J

7、 | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | (不区分大小写) 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 空格 | = | + | - | * | / | ( | ) | , | . | | : | | ! | % | & | ; | | $ | ? | _ (F90新增)Fortran字符集 A | B | C | Fortran的名称 用来标识程序中的实体(变量、子程序、函数) |_|$ 名称长度不能超过6(FORTRAN77) 31(Fortran90) 63(Vis

8、ual Fortran)Fortran的名称 用来标识程序中的实体(变量、子程序、函Fortran的名称programX-Y-ZFind_it1A_program$totalexam_2_2Fortran的名称programX-Y-ZFind_it1Fortran的名称O$kA bF7tDr.LiFortran的名称O$kA bF7tDr.LiFortran的关键字 语句关键字:if, subroutine, program, end 变元关键字 cmplx(x,y,kind) cmplx(10,20,4) cmplx(y=20, kind=4, x=10) 不保留关键字Fortran的关键字

9、 语句关键字:if, subrouti 数据(信息)Fortran的数据类型 客观事物的符号表示,且能够被计算机接受和处理 数值型数据 非数值型 数据(信息)Fortran的数据类型 客观事物的符号表示, 数据类型Fortran的数据类型 是数据的取值范围和其上定义的一组操作的总称内部(基本)数据类型数组公用区指针派生类型整数类型实数类型复数类型字符类型逻辑类型 数据类型Fortran的数据类型 是数据的取值范围和其上定常量exam_2_3 #_ | 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15| 16|17|18|19|20|21|22|23|24|25|

10、26|27|28|29| 30|31|32|33|34|35|36 | 1| 2| 4| 8 表示存储空间的大小(字节),只对十进制有效常量exam_2_3 #常量 (. | .) _ (|) (E|e|D|d)_exam_2_3常量 (.小数常量exam_2_3 (,) | | (|”)系统允许字符(|”) H系统允许字符 Fortran90中废除常量exam_2_3 (,) 一常量 (|”)系统允许字符(|”)C (.true.|.false.)_特殊字符意义特殊字符意义a铃声t水平Tabb退一格v垂直Tabf进一格n换行xhh编码为16进制hh的ASCII码字符r回车ooo编码为8进制o

11、oo的ASCII码字符exam_2_3常量 (|”)系统允许字符(|”)C 变量 变量的声明 隐式声明(FORTRAN) 显式声明 I-N规则 implicit语句 implicit none语句exam_2_4List.for变量 变量的声明 隐式声明(FORTRAN) 显式声明 I-表达式和赋值语句 算术表达式 运算符:+、-、*、/、*(重载) 操作数:常量、变量、函数 (整型、实型、复型、逻辑型、数组、指针、派生类型) 优先级(最好加括号) : 括号 函数 * *、/ 单目、 双目、 类型转换(向高看齐),int, nint, real, dble, cmplx 复数运算 exam_2

12、_5表达式和赋值语句 算术表达式 运算符:+、-、*、/、* 关系表达式: .lt.() .le.().ge.(=) 字符表达式 子字符串 字符串的连接 相关内部函数exam_2_6表达式和赋值语句 关系表达式: 字符表达式 子字符串exam_2_6 二进制位操作(Fortran90) 逻辑表达式 非: .NOT. 与: .AND. 或: .OR. 异或: .XOR. 同或: .EQV. (异或):.NEQV.高优先级低优先级最好加括号表达式和赋值语句 二进制位操作(Fortran90) 逻辑表达式 非: 输入输出 表控格式输入输出 有格式输入输出 无格式(二进制)输入输出 read *, p

13、rint *, read(*,*) write(*,*) 输入输出 表控格式输入输出 有格式输入输出 无格式(二进制)程序的暂停、返回与结束 return (很少使用) end(已经包含了return的没有废弃的功能)Fortran90 废除,Fortran95取消, 用read * 代替 pause|pause 123pause Press any key to continuestop 123stop Error found! stop|程序的暂停、返回与结束 return (很少使用) end(运算误差 数据的表示范围 整数范 围Integer(1)128127Integer(2)-32

14、,768 32,767Integer(4)-2,147,483,648 2,147,483,647Integer(8)-9,223,372,036,854,775,808 9,223,372,036,854,775,807exam_2_7符号0最高位运算误差 数据的表示范围 整数范 围Inte运算误差 实数范 围有效位数real(4)-3.402823E38 -1.175495E-38 0.0 1.175495E-38 3.402823E38 7real(8)-1.79769313486232D308-2.22507385850720D-308 0.0 2.22507385850720D-308 1.79769313486232D308 15real(16)-1.189731E+4932-3.362103E-4932 33exam_2_7符号0最高位指数部分小数部分(决定了有效位数)运算误差 实数范 围有效位数real(4)运算误差 不

温馨提示

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

评论

0/150

提交评论