FORTRAN基础编程(1)——基本格式及读入输出

2023-05-16

FORTRAN基础编程(1)——基本格式及输出、读入


文章目录

  • FORTRAN基础编程(1)——基本格式及输出、读入
  • 书面格式
  • 一、Fixed Format(固定格式)
  • 二、Free Format(自由格式)
  • 三 、输出(write)
  • 四、读入(read)


书面格式

Fortran程序代码的编写格式有两种,Free Format(自由格式)及Fixed Format(固定格式)。Fortran程序代码扩展名为*.f或*.for的文件,就是指以Fixed Format 来编写的程序;以扩展名为*.f90的文件,就是以Free format来编写的程序。


一、Fixed Format(固定格式)

固定格式的程序,对于字段的意义要求的比较明确,即我们只能在第7~72个字符位置编写我们的程序。

第1个字符C、c、*,表示该行为注释行,不会被编译
第1-5个字符数字表示行代号,否则空格
第6个字符0以外的数字表示续行
第7~72个字符程序编写区域
第73个字符以后不被编译,或编译错误

写到这里,木木强烈推荐大家使用这款Fortran编译器:Simply Fortran。获取方式已经在我的第一篇文章中简单介绍,为什么极力推荐呢?原因有二:其一,小巧方便(与vs-ivf相比);其二,它可以显示关键字符位置(第6个与第72个),如下图:Simply Fortran

接下来用一个小程序展示一下Fixed Format

C     fixed format
      program main
      write(*,*)'hello',
     5'nihao'
8     stop
      end

第一行开头C表示注释,5在第6个字符位置,表示续行,8在第1~5个字符位置表示行代码(后续的文章中会讲到行代码在Fixed Format中的应用)。
注意: fortran中不区分大小写,字符间空格没有实际意义。


二、Free Format(自由格式)

Free Format对字符位置没有那么严苛的要求,需要注意的有:
1.叹号“后面的文本都是注释行;
2.行号放在程序的最前面(一般不咋用);
3.每行可以编写132个字符;
4.续航符为“&”,放在行的最后。

program main
write(*,*)'h&   
ello'           ! 注释哦
end

我们可以注意到换行符&已经在Free Format中起作用了,注释也比较方便啦~


三 、输出(write)

Write括号里面的两个*,都有着各自的意义,第一个星号代表输出的位置使用默认值,也就是说屏幕,第二个星号代表不特别设置输出格式(后续推文会讲到格式化输出)。write的不同写法

write(*,*)"巴拉巴拉"
write(UNIT=*,FMT=*)"巴拉巴拉"
write(6,*)"巴拉巴拉"	!屏幕输出unit的默认位置就是6
write(UNIT=6,FMT=*)"巴拉巴拉"

当然,最简单的莫过于第一种写法,这里需要注意的是:因为双引号是用来输出字符串的,所以想要输出双引号时,要用双双引号哦~
Free Format可使用双引号或者单引号来封装字符串,Fixed Format只能使用单引号来封装字符串
此处还要讲一个命令:stop
Stop表示程序终止的意思,尽量不要使用在主程序结束之外的地方。
结束程序有3种方法:

end		!fixed format只使用这个
end program
end program main

四、读入(read)

program main
    integer a
    read(*,*) a
    write(*,*) a
end

这段程序用到了read命令,运行时,程序会等待用户输入数据,integer表示声明的意思(后续的推文中会提及),两个星号的意思与write相同。
读入多个数据

program main
    integer a,b,c
    read(*,*) a,b,c
    write(*,*) a+b+c
end

该程序中,用户可以输入3个整数,逗号或空格用来区分数据,每输入一次数据按一次Enter键表示输入完成。
今天的Fortran学习就到此为止啦,以后会不定时更新有关Fortran编程的博客,敬请关注!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FORTRAN基础编程(1)——基本格式及读入输出 的相关文章

  • 虚函数表和虚函数指针

    虚函数表 vtable 虚函数指针 vptr 虚函数表会出现在一个带有虚函数的类中 xff0c 是属于类的 虚函数表相当于一个数组 xff0c 其中存放的只有虚函数 xff0c 可以是继承而来的 xff0c 也可以是自己本身的 虚函数指针是
  • 在构造函数中使用虚函数可以实现多态吗?

    在构造函数和析构函数中使用虚函数可以实现多态吗 xff1f 不能 因为不管是构造函数还是析构函数 xff0c 其父类和子类的执行都是有一定顺序的 xff0c 拿构造函数来说 xff0c 父类的构造函数会先生成 xff08 一个很简单的道理
  • C++类型转换操作符

    在C语言中其实已有类型转换 xff0c 比如强制类型转换 xff0c 形式上是 type expression 对标C中的强制类型转换 xff0c C 43 43 中按照类型转换的意图对他们进行了分类 xff0c 形式上是 static c
  • 直接插入法排序

    本文试例在VS编译器下可正常使用 算法思想 xff1a 每次从待排序的原始序列中取出一个元素 xff0c 将其排入一个新的有序数列中 xff0c 这实际上是一个有序子序列不断增长的过程 xff0c 当有序子序列与原序列的长度一致时 xff0
  • 编译器的差别gcc和VS

    问题的由来是我写了一个排序算法程序 xff0c 在gcc编译器下运行 xff0c 发现结果有问题 xff0c 然后开展的寻找错误解决问题 这是我写的一个简单的插入排序算法 include lt stdio h gt 直接插入法排序函数主体
  • 计算机程序内存分布

    计算机存储器 计算机中有两种存储器 xff0c RAM和ROM RAM xff1a 随机存取存储器 xff08 random access memory xff09 xff0c 也叫主存 内存 它可以随时读写 xff0c 而且速度很快 xf
  • linux下的线程thread

    何为线程 xff1f 线程是一种轻量级的进程 xff0c 一个进程至少包含 1 个线程 xff0c 也可以包含多个线程 xff0c 所有线程共享进程的资源 xff0c 各个线程也可以拥有属于自己的私有资源 其实 xff0c 进程仅负责为各个
  • 线程同步的实现

    互斥锁 互斥锁的使用就是当有线程访问进程空间中的公共资源时 xff0c 线程执行 加锁 操作 将资源锁起来 xff0c 阻止其它线程的访问 访问完成后 xff0c 该线程 xff08 谁锁上的必须由谁来解锁 xff09 负责完成 解锁 操作
  • TCP粘包问题

    TCP是一种可靠 顺序 耗资的传输协议 xff0c UDP则反之 关于TCP的粘包问题 首先 xff0c 关于传输层协议中的TCP和UDP两种协议 xff0c 其中只有TCP会出现这个沾包的问题 xff0c 因为 xff0c TCP是流式套
  • 如何在shell脚本中使用环境变量的值

    1 问题的由来 此处展示的是脚本的一部分 if Update mode eq 0 then TF update else UDS update fi 说明 xff1a Update mode是一个环境变量 xff0c TF update和U
  • clang-format格式文件。可以直接复制引用

    Language Cpp BasedOnStyle LLVM AccessModifierOffset 2 AlignAfterOpenBracket Align AlignConsecutiveMacros false AlignCons
  • 环形缓冲区(c语言)

    1 概念介绍 在我们需要处理大量数据的时候 xff0c 不能存储所有的数据 xff0c 只能先处理先来的 xff0c 然后将这个数据释放 xff0c 再去处理下一个数据 如果在一个线性的缓冲区中 xff0c 那些已经被处理的数据的内存就会被
  • JAVA基础06——运算符02

    1 位运算 处理数据类型的时候 xff0c 可以直接对组成整形数值的各个位完成操作 amp 34 and 34 34 or 34 xff08 34 not 34 xff09 34 xor 以下用例皆为byte类型 xff1a xff1a 按
  • TCP/IP协议学习笔记(五)Windows下多线程多客户端的TCP服务端的实现

    使用多线程来实现可与多个客户端通信的服务端 当客户端连接上服务端之后 xff0c 为该客户端创建一个新的线程 xff0c 在该线程中与客户端进行通信 服务端程序中的主线程负责监听并接受客户端的连接请求 xff0c 创建与客户端通信的线程 另
  • docker tomcat ,把webapps.dist里面的全部文件 复制到 webapps下面就行。

    docker tomcat xff0c 把webapps dist里面的全部文件 复制到 webapps下面就行 cp r webapps dist webapps
  • ffmpeg 视频合并,无声或音视不同步

    无声 xff1a 第一个视频无声 xff0c 合并之后整个视频无声 例如上面是我用图片合成的视频 xff0c 就是没有音频的视频 只要没有音频的视频放在最前面 xff0c 那么整个视频都会没有声音 xff0c ffmpeg默认以第一个视频为
  • week4实验A 咕咕东的奇遇(字母圆环)

    题目 xff1a 咕咕东是个贪玩的孩子 有一天 xff0c 他从上古遗迹中得到了一个神奇的圆环 这个圆环由字母表组成首尾相接的环 xff0c 环上有一个指针 最初指向字母a 咕咕东每次可以顺时针或者逆时针旋转一格 例如 a顺时针旋转到z x
  • week13 作业C HDU-1176

    题目 xff1a 在大家不辞辛劳的帮助下 xff0c TT 顺利地完成了所有的神秘任务 神秘人很高兴 xff0c 决定给 TT 一个奖励 xff0c 即白日做梦之捡猫咪游戏 捡猫咪游戏是这样的 xff0c 猫咪从天上往下掉 xff0c 且只
  • week13作业B TT的神秘任务2

    题目 xff1a 在你们的帮助下 xff0c TT 轻松地完成了上一个神秘任务 但是令人没有想到的是 xff0c 几天后 xff0c TT 再次遇到了那个神秘人 而这一次 xff0c 神秘人决定加大难度 xff0c 并许诺 TT xff0c
  • week14作业B Q老师与十字叉

    Input 9 5 5 3 4 4 3 5 5 1 4 5 5 5 3 3 3 4 4 Output 0 0 0 0 0 4 1 1 2 记录每一行 每一列空白的格子数目 xff0c 然后遍历每一个格子 xff0c

随机推荐

  • week14 作业D Q老师染砖

    衣食无忧的 Q老师 有一天突发奇想 xff0c 想要去感受一下劳动人民的艰苦生活 具体工作是这样的 xff0c 有 N 块砖排成一排染色 xff0c 每一块砖需要涂上红 蓝 绿 黄这 4 种颜色中的其中 1 种 且当这 N 块砖中红色和绿色
  • 用队列实现图的拓扑排序

    span class hljs preprocessor include lt stdio h gt span span class hljs preprocessor include lt stdlib h gt span span cl
  • week14作业E Q老师度假

    忙碌了一个学期的 Q老师 决定奖励自己 N 天假期 假期中不同的穿衣方式会有不同的快乐值 已知 Q老师 一共有 M 件衬衫 xff0c 且如果昨天穿的是衬衫 A xff0c 今天穿的是衬衫 B xff0c 则 Q老师 今天可以获得 f A
  • week15作业A ZJM 与霍格沃兹

    ZJM 为了准备霍格沃兹的期末考试 xff0c 决心背魔咒词典 xff0c 一举拿下咒语翻译题 题库格式 xff1a 魔咒 对应功能 背完题库后 xff0c ZJM 开始刷题 xff0c 现共有 N 道题 xff0c 每道题给出一个字符串
  • week16 实验A TT数鸭子

    题目 xff1a 这一天 xff0c TT因为疫情在家憋得难受 xff0c 在云吸猫一小时后 xff0c TT决定去附近自家的山头游玩 TT来到一个小湖边 xff0c 看到了许多在湖边嬉戏的鸭子 xff0c TT顿生羡慕 此时他发现每一只鸭
  • group by分组查询后排序

    group by分组查询后排序 如 xff1a 分组查询 SELECT s name name COUNT s id value FROM t setmeal s t order o WHERE s id 61 o setmeal id G
  • 数据库的视图

    数据库视图的作用 数据库视图是一种虚拟的表 xff0c 它不是一个实际的表 xff0c 而是根据一个或多个实际表的查询结果生成的一个虚拟表 xff0c 它可以看作是对一个或多个表的一个或多个列的子集的逻辑表示 在数据库中 xff0c 视图有
  • Ubuntu开启FTP服务+FileZilla传输文件

    1 Ubuntu安装 FTP 服务 sudo apt install vsftpd 2 本地 写入权限使能 xff0c 首先打开 etc vsftpd conf 进行配置 sudo vim etc vsftpd conf 配置文件中 loc
  • spring集成Junit单元测试出现的问题及解决办法

    spring集成Junit单元测试出现的问题及解决办法 1 在spring集成Junit单元测试的时候 xff0c 所有的集成步骤都没有问题 xff0c 但是在启动测试的时候出现如下问题 xff1a java lang IllegalSta
  • MySQL实验

    表如下 xff1a 学院 xff08 学院代码 xff0c 学院名称 xff09 学生 xff08 学号 xff0c 姓名 xff0c 性别 xff0c 学院代码 xff09 教师 xff08 教师号 xff0c 教师名 xff0c 学院代
  • SpringBoot整合Mybatis-plus代码生成器

    本文还是采用经典实用知识三段论 是什么 xff1f 能干什么 xff1f 怎么干 xff1f 让Mybatis plus代码生成器轻而易举的为你所用 希望文章能够帮到你提高写代码的效率 前言 整合基于在idea已经创建好的Springboo
  • 定义struct结构体数组

    题目要求 xff1a 有3个候选人 xff0c 每个选民只能投票选一人 xff0c 要求编一个统计选票的程序 xff0c 先后输入被选人的名字 xff0c 最后输出各人得票结果 解题思路 xff1a 设一个结构体数组 xff0c 数组中包含
  • AAC高级音频编码

    AAC 的支持现状 目前支持 AAC 的产品还比较少 xff0c 这主要是因为专利使用费大大限制了 AAC 的发展 xff01 不过好在有索尼 诺基亚 苹果 松下四大巨头的鼎力支持 xff0c 场面还不算冷清 重量级的 iPod 和 iPo
  • 三种做法——判断给定的字符序列是否是回文,回文是指一个字符序列以中间字符为基础,两边字符忽略大小写完全相同

    判断给定的字符序列是否是回文 xff0c 回文是指一个字符序列以中间字符为基础 xff0c 两边字符忽略大小写完全相同 xff08 10分 xff09 判断回文多种方法 xff1a 不值得推荐方法 xff1a 纯死脑筋做法 span cla
  • word文件转md文件

    文章目录 一 下载pandoc二 pandoc转换1 cmd进入文件夹2 代码实现 一 下载pandoc 建议使用msi直接安装 xff0c 而不是下载安装包直接使用 xff0c msi的下载方法 xff1a 安装方法 二 pandoc转换
  • JavaScript中定义结构体一维二维多维数组

    相信学过C语言的开发者刚接触JavaScript时都会很不习惯 xff0c C语言中的虽然是结构化面向过程的编程语言 xff0c 但是C语言中也有封装的思想 xff0c 例如C语言结构体和公用体等 xff0c 在他们中都可以直接定义变量 C
  • does not name a type报错的改正方式

    does not name a type报错的改正方式 原代码如下 xff1a 报错 xff1a does not name a type 原因 xff1a 不知道 改正方法 xff1a 把初始化放主函数外面 xff0c 赋值放主函数里面
  • ERROR: Cause: unable to find valid certification path to requested target终极解决方法

    ERROR Cause unable to find valid certification path to requested target终极解决方法 2022 09 20 更新一下 xff1a 报这个错主要是因为网络问题 xff0c
  • yum安装ansible报错如何解决

    yum安装ansible报错解决方案 一 报错信息 xff1a 二 如何解决1 重装虚拟机2 修改yum源3 使用EPEL源4 安装ansible5 测试 文章参考 xff1a https mirrors tuna tsinghua edu
  • FORTRAN基础编程(1)——基本格式及读入输出

    FORTRAN基础编程 xff08 1 xff09 基本格式及输出 读入 文章目录 FORTRAN基础编程 xff08 1 xff09 基本格式及输出 读入书面格式一 Fixed Format 固定格式 二 Free Format 自由格式