fortran语言复习总结.pdf_第1页
fortran语言复习总结.pdf_第2页
fortran语言复习总结.pdf_第3页
fortran语言复习总结.pdf_第4页
fortran语言复习总结.pdf_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

第一章第一章 概述 FORTRAN FORmula TRANslator 算法有五个基本特征 有穷性 确定性 必要的输入输出 可行性 评价算法质量的四个基本标准 正确性 可读性 通用性 高效率 程序设计方法 面向过程 模块化 结构化 面向对象 面向过程两大特征 使用三种基本控制结构 采用自顶向下和逐步求精方法 F90 采用模块化和结构化相结合的程序组织结构 第三章第三章 基础知识 1 字符集 由四部分字符组成 英文字母 不区分大小写 阿拉伯数字 下划线 特殊字符 各种符号 2 标识符 不区分大小写 3 对关键字不予保留 但应避免使用关键字作为实体名称 4 语句 说明语句必须放在可执行语句之前 任何语句前可设置语句标号 3 个通用标志符 注释标志符 语句分隔标志符 续行标志符 v e2 v e3 DO ENDDO v 为循环变量 一般为整型 e1 初值 e2 终值 e3 步长 缺省为 1 循环次数 e2 e1 e3 1 循环中可引用 v 但不能修改 v 只可修改 e1 e2 e3 但不影响结果 允许从循环体内转移到循环体外 反之编译警告 循环结束后 v 为最后一次循环增加步长后得到的值 2 条件型 DO WHILE 循环 DO WHILE ENDDO 强制终止循环 EXIT CYCLE 但只能在 DO 和 DO WHILE 循环语句内使用 EXIT 终止整个循环语句的执行 类似 break CYCLE 终止本次循环体的执行 开始新循环 类似 continue 3 特殊 DO 循环语句 死循环 强制退出 DO EXIT 语句 ENDDO 必须与 EXIT 语句配合使用 满足循环结束条件 则执行 EXIT 语句退出循环 第八章第八章 数组 1 数组分类 静态数组 动态数组 2 数组声明 类型声明语句 DIMENSION 语句 DIMENSION 属性 1 类型声明语句 数组元素个数 从 1 开始到 n 区别于 C 的从 0 开始到 n 1 要求 上界 下界 否则数组大小为 0 数组和变量可同一语句混合声明 例 INTEGER max count 10 数组声明语句必须出现在所有可执行语句之前 2 DIMENSION 语句 DIMENSION DIMENSION num1 3 count1 3 6 0 6 数组类型由 I N 规则确定 类型可以通过类型声明语句改变 且声明语句可位于 DIMENSION 的前面或后面 例 INTEGER day DIMENSION num 3 day 12 count 3 3 CHARACTER 20 num 3 DIMENSION 属性 DIMENSION 必须出现 例 INTEGER DIMENSION 5 1 5 9 num total 允许在数组声明表中对数组进行特定维说明 例 INTEGER DIMENSION 2 t1 t2 10 15 t3 2 2 可以给数组赋初值 例 INTEGER DIMENSION 5 S 45 78 85 55 95 3 数组引用 格式 引用一个元素 下标为一个算术表达式 引用部分元素 数组片断引用 下标为 号间隔的两个算术表达式 引用全部元素 只给出数组名 不指定下标 引用时要保证数组下标在域内 否则会产生运行错误 维边界检测函数 UBOUND LBOUND UBOUND DIM LBOUND DIM 检测某一维 指定维数 有第二参数 结果为整数 检测所有维 不指定维数 缺第二参数 结果为一维整型数组 4 数组结构 注 多维时从 a 1 1 a 2 1 先列后行 区别于 C 的先行后列 5 数组输入输出 1 根据数组逻辑结构下标 使用 DO 循环输入输出全部或部分数组元素 一维 二维数组输入输出 使用 DO 循环 输入时每行只能输入一个数据 与逻辑结构不一致 输出时只要输出格式控制得当 使用 编辑符 能够按照逻辑结构输出 2 数组隐含 DO 循环 一维数组隐含 DO 循环语句 READ arr1 I I 1 8 2 READ arr1 I I 1 8 二维数组隐含 DO 循环子句 READ arr2 I J J 1 4 I 1 3 READ arr2 I J J 1 4 2 I 1 3 2 1 允许一行输入多个数据 2 输入时 循环项不能是常数和表达式 但输出时可以 例 根据存储结构 使用数组名在同一行输入输出全部元素 READ arr1 READ arr2 PRINT arr1 PRINT arr2 根据存储结构 使用数组片段在同一行输入输出部分元素 READ arr1 1 5 PRINT arr2 1 2 1 2 结合隐含 DO 循环 按逻辑结构输入输出 READ arr1 I I 1 8 READ arr2 I J J 1 3 I 1 3 6 数组赋初值 1 数组构造器 括号和斜杠之间不能有空格 隐含 DO 循环用于给出一组相邻的初值 例 2 4 6 8 10 I I 2 10 2 2 4 I I 6 10 2 用数组构造器给数组赋值 一维数组 直接使用数组构造器 INTEGER DIMENSION 5 num1 num2 I 4 J 8 num1 2 ABS 4 I 2 J 10 num2 I I 2 10 2 多维数组 需使用函数 RESHAPE 将数组构造器转换形式 INTEGER B 2 3 C 8 B RESHAPE 1 2 3 4 5 6 2 3 B 为 2 行 3 列 C 0 RESHAPE B 6 7 给所有元素赋相同初值 数组构造器也可用于给数组片段赋初值 7 DATA 语句 DATA 例 INTEGER A B 2 C 3 D 3 E 5 DATA A B C 2 3 D 1 1 2 2 2 3 1 DATA E I I 1 5 5 2 8 动态数组 1 声明方式 DIMENSION ALLOCATABLE 例 INTEGER DIMENSION ALLOCATABLE num score REAL DIMENSION ALLOCATABLE A B 或 INTEGER ALLOCATABLE num score REAL ALLOCATABLE A B 的个数表示维数 其后不可变 2 声明后 通过 ALLOCATE 语句为其分配存储空间 指定上下界 ALLOCATE STAT 应与 ALLOCATABLE 声明语句中的数组维数相同 ALLOCATE 语句中不允许为数组赋初值 3 动态数组不再使用时 应及时通过 DEALLOCATE 语句释放存储空间 DEALLOCATE STAT 例 DEALLOCATE num arr DEALLOCATE 中的数组必须动态数组 释放动态数组存储空间后 可再次使用 ALLOCATE 为其分配新的存储空间 第九章第九章 函数与子例行程序 1 语句函数 一般形式 F x1 x2 xn 表达式 函数定义只能出现在说明部分 在表达式中调用执行 调用形式 注 若废除了 I N 规则 则需定义函数类型 只能写一条语句 只有一个返回值 不能递归调用 形参不能为数组或数组元素 但可引用数组元素 语句函数为局部变量 只能在定义它的程序单元中引用 例 REAL F a b c r F a b c r r SQRT a a b b c c 2 内部子程序 传值调用 位置 在 CONTAINS 与 END 之间 注 其间不能出现其他语句 定义 FUNCTION END FUNCTION 必需有返回值 通过 来返回 可出现多个 RETURN 语句 调用 F a1 a2 an 3 内部子例行程序 引用调用 定义 SUBROUTINE END SUBROUTINE 无返回 不能指定类型 不允许给子程序名赋值 调用 CALL 语句 CALL P a1 a2 an 4 参数传递规则 1 普通变量 实参为常数 常量或表达式 传值调用 实参为变量 数组元素 引用调用 实参为字符变量或子串 引用调用 2 数组 传地址调用 一般非字符数组 按存储结构顺序结合 引用方式 字符数组 传地址 故可截取部分片段做形参 推荐使用可调数组 例 INTEGER s 30 CALL F s 30 CONTAINS FUNCTION F x n INTEGER x n END FUNCTION END 5 外部子程序 外部子例行程序 位于 PROGRAM END 之外 作用和用法同内部子程序 内部子例行程序 只是在程序内部需用 EXTERNAL 声明 EXTERNAL 放在 IMPLICT NONE 之后 附录 附录 程序书写格式 PROG

温馨提示

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

评论

0/150

提交评论