fortran保留关键词
在 Fortran 中,保留关键词(reserved keywords)是语言标准中具有特定含义、不能用作变量名或标识符的词汇。这些词构成了 Fortran 的语法核心,用于定义程序结构、控制流程、声明数据类型等。
序号 | 分类 | 关键词 | 释义 | 简例 | 语法标准 |
---|---|---|---|---|---|
01 | 预处理指令 | include | 包含外部文件 | include ‘mpi.f90’ | 非标准关键词 |
02 | 程序结构 | program | 主程序开始 | program main | Fortran 77 |
03 | 程序结构 | end | 结束结构块 | end 或end program main | Fortran 77 |
04 | 程序结构 | module | 定义模块 | module mymod | Fortran 90 |
05 | 程序结构 | subroutine | 定义子程序 | subroutine mysub() | Fortran 77 |
06 | 程序结构 | function | 定义函数 | function square(x) | Fortran 77 |
07 | 程序结构 | interface | 定义接口 | interface myinterface | Fortran 90 |
08 | 程序结构 | contains | 包含模块体 | contains | Fortran 90 |
09 | 程序结构 | use | 使用模块 | use mymod | Fortran 90 |
10 | 数据类型 | integer | 整数类型 | integer :: i | Fortran 77 |
11 | 数据类型 | real | 实数类型 | real :: x | Fortran 77 |
12 | 数据类型 | double precision | 双精度类型 | double precision :: x | Fortran 77 |
13 | 数据类型 | complex | 复数类型 | complex :: z | Fortran 77 |
14 | 数据类型 | logical | 布尔类型 | logical :: flag | Fortran 77 |
15 | 数据类型 | character | 字符类型 | character(len=10) :: name | Fortran 77 |
16 | 数据类型 | type | 派生类型 | type mytype | Fortran 90 |
17 | 数据类型 | class | 多态类型 | class(*), allocatable :: obj | Fortran 2003 |
18 | 数据类型 | kind | 精度参数 | integer(kind=4) | Fortran 90 |
19 | 数据类型 | dimension | 数组维度 | dimension(10) :: arr | Fortran 77 |
20 | 控制结构 | if | 条件判断 | if (x > 0) then | Fortran 77 |
21 | 控制结构 | then | if开始块 | if (…) then | Fortran 77 |
22 | 控制结构 | else | 否则分支 | else | Fortran 77 |
23 | 控制结构 | else if | 否则如果 | else if (x < 0) | Fortran 90 |
24 | 控制结构 | end if | if结构结束 | end if | Fortran 77 |
25 | 控制结构 | select case | 多分支判断 | select case(i) | Fortran 90 |
26 | 控制结构 | case | case分支 | case(1) | Fortran 90 |
27 | 控制结构 | do | 循环开始 | do i=1,10 | Fortran 77 |
28 | 控制结构 | cycle | 跳过本次循环 | cycle | Fortran 90 |
29 | 控制结构 | exit | 退出循环 | exit | Fortran 90 |
30 | 控制结构 | stop | 终止程序 | stop | Fortran 77 |
31 | 控制结构 | return | 子程序返回 | return | Fortran 77 |
32 | 控制结构 | goto | 无条件跳转 | goto 100 | Fortran 77 |
33 | 控制结构 | where | 条件掩码语句 | where (a > 0) | Fortran 90 |
34 | 控制结构 | elsewhere | where的else分支 | elsewhere | Fortran 90 |
35 | 控制结构 | forall | 并行赋值 | forall(i=1:n) a(i)=i | Fortran 95 |
36 | 语句辅助 | allocate | 分配内存 | allocate(arr(10)) | Fortran 90 |
37 | 语句辅助 | deallocate | 释放内存 | deallocate(arr) | Fortran 90 |
38 | 语句辅助 | nullify | 取消指针关联 | nullify(ptr) | Fortran 90 |
39 | 语句辅助 | associate | 表达式关联 | associate(x => a(i)) | Fortran 2003 |
40 | 语句辅助 | block | 局部块结构 | block … end block | Fortran 2008 |
41 | 语句辅助 | call | 调用子程序 | call mysub() | Fortran 77 |
42 | 语句辅助 | 打印控制台 | print *, ‘Hello’ | Fortran 77 | |
43 | 语句辅助 | write | 写控制台或文件 | write(,) x | Fortran 77 |
44 | 语句辅助 | read | 读取输入 | read(,) x | Fortran 77 |
45 | 语句辅助 | open | 打开文件 | open(unit=10, file=’data.txt’) | Fortran 77 |
46 | 语句辅助 | close | 关闭文件 | close(10) | Fortran 77 |
47 | 语句辅助 | inquire | 查询文件状态 | inquire(file=’a.txt’, exist=ex) | Fortran 77 |
48 | 语句辅助 | rewind | 文件回到开头 | rewind(10) | Fortran 77 |
49 | 语句辅助 | backspace | 文件后退一行 | backspace(10) | Fortran 77 |
50 | 语句辅助 | flush | 刷新缓冲区 | flush(10) | Fortran 2003 |
51 | 语句辅助 | format | 格式语句 | 100 format(I5) | Fortran 77 |
52 | 语句辅助 | equivalence | 内存重叠 | equivalence(a, b) | Fortran 77 |
53 | 语句辅助 | common | 公共内存块 | common /blk/ a, b | Fortran 77 |
54 | 逻辑运算 | .true. | 逻辑真 | logical :: x = .true. | Fortran 77 |
55 | 逻辑运算 | .false. | 逻辑假 | logical :: x = .false. | Fortran 77 |
56 | 逻辑运算 | .and. | 逻辑与 | if (a .and. b) | Fortran 77 |
57 | 逻辑运算 | .or. | 逻辑或 | if (a .or. b) | Fortran 77 |
58 | 逻辑运算 | .not. | 逻辑非 | if (.not. x) | Fortran 77 |
59 | 逻辑运算 | .eqv. | 逻辑等价 | if (a .eqv. b) | Fortran 77 |
60 | 逻辑运算 | .neqv. | 逻辑不等价 | if (a .neqv. b) | Fortran 77 |
61 | 逻辑运算 | .eq. | 等于 | if (x .eq. y) | Fortran 77 |
62 | 逻辑运算 | .ne. | 不等于 | if (x .ne. y) | Fortran 77 |
63 | 逻辑运算 | .lt. | 小于 | if (x .lt. y) | Fortran 77 |
64 | 逻辑运算 | .le. | 小于等于 | if (x .le. y) | Fortran 77 |
65 | 逻辑运算 | .gt. | 大于 | if (x .gt. y) | Fortran 77 |
66 | 逻辑运算 | .ge. | 大于等于 | if (x .ge. y) | Fortran 77 |
67 | 访问控制 | public | 公共可见性 | public :: x | Fortran 90 |
68 | 访问控制 | private | 私有可见性 | private :: y | Fortran 90 |
69 | 访问控制 | save | 保存变量值 | save :: x | Fortran 77 |
70 | 访问控制 | parameter | 声明常量 | parameter(pi=3.14) | Fortran 77 |
71 | 访问控制 | intent | 指定参数意图 | intent(in) :: x | Fortran 90 |
72 | 访问控制 | optional | 可选参数 | optional :: y | Fortran 90 |
73 | 访问控制 | target | 可被指针指向 | target :: arr | Fortran 90 |
74 | 访问控制 | pointer | 声明指针 | pointer :: p | Fortran 90 |
75 | 访问控制 | allocatable | 可分配数组 | allocatable :: a(:) | Fortran 90 |
76 | 访问控制 | external | 外部函数声明 | external sin | Fortran 77 |
77 | 访问控制 | intrinsic | 内在函数声明 | intrinsic :: sin | Fortran 77 |
78 | 访问控制 | abstract | 抽象接口 | abstract interface | Fortran 2003 |
79 | 访问控制 | extends | 类型继承 | type, extends(parent) :: child | Fortran 2003 |
80 | 访问控制 | deferred | 延迟绑定 | procedure(f), deferred :: g | Fortran 2003 |
81 | 访问控制 | pass | 显式传递self | procedure(), pass :: f | Fortran 2003 |
82 | 访问控制 | non_overridable | 不可重写方法 | procedure(), non_overridable :: f | Fortran 2008 |
83 | 并行扩展 | critical | 临界段 | critical … end critical | Fortran 2008 |
84 | 并行扩展 | coarray | 协同数组 | real, allocatable :: x[:] | Fortran 2008 |
85 | 并行扩展 | codimension | 协同维度 | real :: x[,] | Fortran 2008 |
86 | 并行扩展 | sync all | 同步所有图像 | sync all | Fortran 2008 |
87 | 并行扩展 | sync images | 同步指定图像 | sync images([2]) | Fortran 2008 |
88 | 并行扩展 | sync memory | 同步内存 | sync memory | Fortran 2008 |
89 | 并行扩展 | event post | 事件通知 | event post(event) | Fortran 2008 |
90 | 并行扩展 | event wait | 事件等待 | event wait(event) | Fortran 2008 |
91 | 并行扩展 | lock | 加锁 | lock(mylock) | Fortran 2008 |
92 | 并行扩展 | unlock | 解锁 | unlock(mylock) | Fortran 2008 |
93 | 并行扩展 | team | 团队变量 | integer :: team | Fortran 2018 |
94 | 并行扩展 | form team | 组建团队 | form team(1, newteam) | Fortran 2018 |
发表回复
要发表评论,您必须先登录。