### FORTRAN90基本学习指导 #### 一、FORTRAN90基础知识 ##### 1. 源程序及其构成 FORTRAN90源程序由一系列的语句组成,包括主程序定义语句和结束语句。需要注意的是,在没有指定程序名称的情况下,程序开头不应包含`PROGRAM`关键词;若指定了程序名称,则`END`语句中的`PROGRAM`关键词不可省略。 - **语句行格式**: 每个语句行最多可包含132个字符,除了赋值语句之外,大多数语句都应以关键字开头。若一行中包含多个语句,则需要用分号分隔。 - **空格使用**: 空格不能随意使用,例如在关键字、变量名、常量名以及操作符之间需要加入空格,否则可能导致语法错误。 - **注释行**: 注释行以感叹号`!`开始,也可以使用`C`或`*`作为注释符号,但在FORTRAN90中不推荐使用后者。 - **续行标记**: 如果一条语句需要跨越多行,可以在行末添加续行符`&`。如果关键字跨行,则下一行开头也需添加续行标记。需要注意的是,续行符不能出现在注释语句中。 ##### 2. FORTRAN90字符集 FORTRAN90支持以下字符集: - **英文字母**: 包括126个英文大小写字母,大小写字母在FORTRAN90中被视为等价。 - **阿拉伯数字**: 包括210个数字。 - **下划线**: 可用于变量名等。 - **特殊字符**: 包括21个特殊字符,如`=`、`+`、`-`、`*`、`/`、`(`、`)`、`.`、`'`、`:`、`!`、`"`、`%`、`&`、`;`、`<`、`>`、`?`、`$`等。 - **其他字符**: 这些字符只能出现在字符常量、字符串编辑描述符、注释和输入输出记录中。 ##### 3. 基本数据类型 FORTRAN90支持多种基本数据类型: - **整型**: KIND值可以为1、2、4,通过`INTEGER`关键词声明。KIND值决定了整数的范围,整数运算没有误差。 - 示例: `INTEGER(KIND=4) :: A` - 简化写法: `INTEGER*4 :: A` - **实型**: KIND值可以为4(单精度,约7位有效数字)、8(双精度,15~17位有效数字),通过`REAL`关键词声明。 - 示例: `REAL(KIND=8) :: B` - 数学运算: 如`8.0**(1.0/3.0)`计算8的立方根。 - **复型**: KIND值为4、8,表示为有序对的形式,通过`COMPLEX`关键词声明。 - 示例: `COMPLEX :: C = (1.0, 2.0)` - **字符型**: KIND值根据国家语言种类而定,通过`CHARACTER`关键词声明。 - 示例: `CHARACTER(LEN=10) :: D` - 字符串连接运算符: `//` - 字符串处理函数: `CHAR`, `ICHAR`, `LEN`, `LEN_TRIM`, `INDEX`, `TRIM` - **逻辑型**: KIND值为2、4,只能取`.TRUE.`或`.FALSE.`两个值。 ##### 4. 命名规则 - **长度限制**: 名字最长不超过31个字符。 - **组成成分**: 可以包含字母、数字和下划线。 - **首字符**: 必须以字母开头。 - **空格**: 不允许在名字中出现空格。 - **重复性**: 变量名不能与全局名(如程序单位名、数组名)同名,也不应与关键字同名。 - **大小写**: 名称不区分大小写。 #### 二、基本语句 ##### 1. 类型说明语句 - **显式说明**: 明确指定变量的数据类型。 - **隐含说明**: 在早期版本的FORTRAN中使用,但在FORTRAN90中已不再使用。 - **I-N规则**: FORTRAN早期版本的一种默认规则,但在现代FORTRAN中不再适用。 - **屏蔽I-N规则**: 使用`IMPLICIT NONE`来禁止所有隐式类型声明,强制显式声明所有变量。 ##### 2. 种别说明示例 下面是一个FORTRAN90程序示例,展示了如何使用`SELECTED_INT_KIND`和`SELECTED_REAL_KIND`来选择特定精度的整数和实数类型: ```fortran program ex0435 implicit none ! 判断可以记录9个位数的整数kind值 integer, parameter :: long_int = selected_int_kind(9) ! 判断可以记录3个位数的整数kind值 integer, parameter :: short_int = selected_int_kind(3) ! 判断可以有10个有效位数,指数可以记录到50的浮点数kind值 integer, parameter :: long_real = selected_real_kind(10, 50) ! 判断可以有3个有效位数,指数可以记录到3的浮点数kind值 integer, parameter :: short_real = selected_real_kind(3, 3) integer(kind=long_int) :: a = 12345678 integer(kind=short_int) :: b = 12 real(kind=long_real) :: c = 1.23456789D45 real(kind=short_real) :: d = 1230 write(*, "(I3, 1X, I10)") long_int, a write(*, "(I3, 1X, I10)") short_int, b write(*, "(I3, 1X, E10.5)") long_real, c write(*, "(I3, 1X, E10.5)") short_real, d end program ex0435 ``` 以上内容详细介绍了FORTRAN90的基本特性和常用语法结构,适合初学者快速入门。
剩余55页未读,继续阅读
- 粉丝: 1
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助