Fortran中的字符

A,B,C,D,E,F,G,H,I,J,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,+,-,*,/,(z左括号),(右括号),(撇号),(逗号),(小数点),(空格)

共47个。


Fortran中的常量

Fortran语言中有6种常量:整型常量、实型常量、双精度型常量、复型常量、逻辑型常量、字面常量。

  1. 整型常量没有误差。

  2. 实型常量有小数形式指数形式两种。小数形式有(10. ),(10.1), (.11)这三种形式。指数形式1.2E4.

  3. 双精度形式用指数表示,1.2D4。双精度常量0表示为:(0.0D0),(0.D0)

  4. 复型常量(-4.2,2.3)表示-4.2+2.3i;复型常量在内存中占两个实型常量的内存。实部和虚部各占一个。

  5. 双精度复型常量,实部和虚部都是双精度的实数。(1.44D+1,0.D0)

  6. 逻辑型常量:(.ture.),(.false.);逻辑型常量占内存的一个存储单元。

  7. 字面常量:Fortran规定字面常量中字符的个数不得大于计算机一个内存单元所能存放的最大字符的个数,在满足这个条件的时候,字面常量在内存中靠左存放,后面跟空格。字面常量的形式为:

    ​ 4Hx1x2⋯xnn


Fortran中的变量

Fortran中的变量其实指的是内存中的一块存储单元,变量名是这块单元的名称(地址标记),在参加运算的时候,只能是内存中的数值或者内存的地址参加运算,内存本身不参加运算。可以理解如下:变量就是一间屋子,变量名就是房间编号,这间屋子今天可以住这个人,明天可以住那个人,但是同一时间只能有一个人住在房子里面。所以,任何时候,房子里的状况都是清楚地,住了人,是哪一个人,或者没有住人。这些信息对于店主(程序员)都是很清楚地。

对于房间的命名——变量名的命名,Fortran要求第一个必须是字母,后面紧跟字母或数字组成的6个以内的字符串。在Fortran中,变量不但有名,而且有不同的类型。有整型变量、实型变量、双精度型变量、复型变量、双精度复型变量、逻辑型变量。(共6种)

Fortran的I-N规则

Fortran规定变量的第一个字母是I-N中的字母时,该变量为整型变量,其他字母时为实型变量。这是隐性说明的。可以通过implicit none语句去掉这条规则。

  • 整型变量 :integer y1,xvar,e47b
  • 双精度型变量 :double precision
  • 复型变量 :complex
  • 双精度复型变量 :double precision complex
  • 逻辑型变量 :logical

Fortran中的有效位数

  1. 单精度浮点数的有效位数为6位。双精度浮点数的有效位数为15位。
  2. 整型在Fortran中是严格精确地储存的。

Fortran中的申明

申明就是指在程序代码中,程序员向编译器要求预留一块存放数据的内存空间。

有下面面的三种方式来申明整型变量

integer(kind=4) a   ! Fortran 90添加
integer(4) a ! fortran77
integer*4 a ! fortran77

下面是申明字符变量的方法

character(len=10) a   ! fortran90
character(10) a ! fortran90
character*10 a ! fortran90
character*(10) a ! fortran90

Fortran申明时要注意的原则

  1. 变量名可使用字母,数字,下划线,但是开首字符必须是字母
  2. 变量名的长度:Fortran77为6个字符,Fortran90为31个字符。
  3. 变量名要避开关键字,保留字和函数名。
  4. Fortran程序不区分大小写。建议使用小写字母。

Fortran中的表达式

Fortran中有3类表达式:算术表达式、关系表达式、逻辑表达式

  • 算数表达式的基本元素

    常量、变量、数组元素、函数引用、运算符、括号。

  • Fortran中的算数运算符 有:+,-,,/,*

  • Fortran中的关系运算符:(.GT.)、(.GE.)、(.LT.)、(.LE.)、(.EQ.)、(.NE.)。Fortran规定关系表达式的两端数据类型必须一致。关系表达式的优先级低于算术表达式。

  • Fortran中的逻辑运算符:(.AND.)、(.OR.)、(.NOT.)优先级为:先.NOT.次.AND.后.OR.。

  • 分析

    已知A=3.5,B=4.0,C=4.5,求:A+B.EQ.C.AND.B+C.GT.A-B


Fortran中的语句、注解、行和标行

  • Fortran语句有可执行语句和非执行语句
  • Fortran语句写在一行内,一行不能写几个语句。行是72个字符的序列。
  • Fortran的行分为:始行、续行、注解行、结束行。Fortran77规定有19个续行。注解行的开始写星号或者字母C。注释行不能插在始行和续行的中间。
  • Fortran规定在一行的前1-5列用1-5个数字的序列来标记,成为语句标号。

Fortran中的过程和过程引用

Fortran中过程包括函数和子程序。有四种过程:内在函数、语句函数、外部函数、子程序。

  • 这部分的内容比较繁杂,等以后补充

Fortran语句详解

Fortran中的可执行语句:

  1. 算数、逻辑、字符赋值语句,语句标号赋值语句
  2. 无条件goto、赋值goto、计算goto语句
  3. 算数if和逻辑if
  4. 块if、else if、 else、end if语句
  5. continue语句
  6. stop和pause语句
  7. do语句
  8. read和write语句
  9. rewind、backspace、endfile、open语句
  10. call、return语句
  11. end语句

Fortran中的非执行语句

  1. program、function、subroutine语句
  2. dimension、common、equivalence、implicit、external、intrinsic、save语句
  3. integer、real、complex、logical语句
  4. data语句
  5. format语句
  6. 语句函数语句
说明语句

说明语句是非执行语句,他们是:

  1. DIMENSION语句
  2. EQUIVALENCE语句
  3. COMMON语句
  4. INTEGER\REAL\COMPLEX\LOGICAL语句
  5. IMPLICIT语句
  6. EXTERNAL语句
  7. INTRINSIC语句
  8. SAVE语句

类型语句的一边形式:

typ V[,v]...

例子:

COMPLEX COMPA,COMPB
REAL*8:: I(15,20,30),IJIM,NET
INTEGER:: AT(10,10,20),HIT,OTT(10,20)
LOGICAL SWITCH,CODE,LIGHT
DOUBLE COMPLEX Z12,23
CHARACTER[*LEN[,]]NAM[,NAM]...
IMPLICIT语句

Fortran标准中有一项看起来不太好的功能(个人之见),它的变量不经定义就可以使用,编译器会根据变量名的首字母来判断变量的类型。第一个字母是I、J、K、L、M、N的变量会被自动认为是整型变量,其他的变量会被认为是实数型。

implicit命令的功能是设置默认类型。如:

implicit integer(a,b,c)  !将以A,B,C开头的变量认为是整形变量
implicit real*8(a-z) !将所有变量都认为是双精度实型变量
implicit none !关闭默认类型功能,所有变量都要事先申明

Fortran中的格式控制

Fortran命令中可以使用很多的格式控制描述,下面列出了所有格式命令的表格,括号( [ ] )中的东西可以省略。

Aw 以w个字符宽度来输出字符串
BN 定义文本框中的空位为没有东西,在输入时才需要使用
BZ 定义文本框中的空位代表0,在输入时才需要使用
Dw.d 以w个字符宽度来输出指数型的浮点数,小数部分占d个宽度
Ew.d[Ee] 以w个字符宽度来输出指数型的浮点数,小数部分占d个宽度,指数部分占e个字符
ENw.d[Ee] 以指数类型来输出浮点数
Fw.d 以w个字符宽度来输出浮点数,小数部分占d个宽度
Gw.d[Ee] 以w个字符来输出任何类型的数据
Iw[.m] 以w个字符宽度来输出整数,最少输出m个数字
Lw 以w个字符宽度来输出T或F的真假值
nX 把输出的位置向后跳n个位置
/ 代表换行
: 在没有更多的数据的时候结束输出
kP K值控制输入输出的SCALE
Tn 输出的位置移动到本行的第n列
TLn 输出的位置相左相对移动n个
TRn 输出的位置相右相对移动n个
SP 在数字值为正时加上正号
SS 取消SP
Bw[.m] 把整数转换成二进制来输出,输出会占w个字符宽度,固定输出m个数字。m值可以不给定
Ow[.m] 把整数转换成八进制来输出,输出会占w个字符宽度,固定输出m个数字。m值可以不给定
Zw[.m] 把整数转换成十六进制来输出,输出会占w个字符宽度,固定输出m个数字。m值可以不给定

Fortran学习记录1(Fortran数据类型)的更多相关文章

  1. Fortran学习记录3(选择语句)

    流程控制语句 if的基本用法 if-else语句块 多重判断if-elseif语句 if语句嵌套 Select case语句 Goto语句 PAUSE CONTINUE STOP 流程控制语句 if的 ...

  2. FORTRAN学习记录

    WHERE statement http://scv.bu.edu/computation/bluegene/IBMdocs/compiler/xlf-10.1/html/xlflr/where.ht ...

  3. Erlang学习记录(二)——基本数据类型

    Erlang可以说和我以前接触过的语言都大不相同,这个从它的类型定义就可以看出来...反正学起来觉得既不熟悉,也不亲切,我估计在用Erlang写应用的时候,整个编程思路都要变一下了.不过存在即是合理的 ...

  4. Fortran学习笔记4(循环语句)

    Fortran学习笔记4 Fortran学习笔记4 逻辑运算 循环 Do语句 Do-While循环 循环控制 循环应用实例 逻辑运算 if命令需要和逻辑运算表达式搭配才能起到很好的效果.下面分别列出F ...

  5. Fortran学习笔记:01 基本格式与变量声明

    Fortran学习笔记目录 01 基本格式与变量声明 格式 固定格式(Fixed Format):Fortran77 程序需要满足一种特定的格式要求,具体形式参考教材 自由格式(Free Format ...

  6. (目录)Fortran学习笔记:开坑!!!

    前言:因为某些原因,需要使用Fortran编写程序,记录下Fortran语法学习过程中的部分笔记.在此开坑记录,立下Flag,"希望年末能够更新完" Fortran 学习笔记 陈橙 ...

  7. Fortran学习笔记:03 数组(Array)

    Fortran学习笔记目录 书接上回:Fortran学习笔记:02 流控制语句 数组(Array) 定义数组 一维数组 program main implicit none integer :: i ...

  8. Fortran学习笔记:02 流控制语句

    Fortran学习笔记目录 书接上回:Fortran学习笔记:01 基本格式与变量声明 流控制语句 IF语句 IF (逻辑表达式) THEN ... ELSE ... END IF SELECT-CA ...

  9. Python学习记录day5

    title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...

随机推荐

  1. 基于 Algebird 谈一谈代数数据类型在数据聚合中的应用

    此文已由作者肖乃同授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 代数数据类型是指满足一定数学特性的数据类型, 这些特性使得计算能够很方便的并行化,在Scalding和  S ...

  2. 洛谷 - P2293 - 高精度开根 - 高精度

    https://www.luogu.org/problemnew/show/P2293 要求求出给定高精度整数的非负根取整的结果. 还有神仙用Python的浮点pow运算骗到不少分的. 唉! 那么我们 ...

  3. Codeforces Round #331 (Div. 2)【未完待续】

    http://codeforces.com/problemset/problem/596/B GGGGGGGGGGGGGGGGGGG

  4. hdoj1575【矩阵快速幂】

    题意:非常清晰! 直接搞吧. #include <iostream> #include <stdio.h> #include <string.h> #include ...

  5. bzoj 1396: 识别子串 && bzoj 2865: 字符串识别【后缀数组+线段树】

    根据height数组的定义,和当前后缀串i最长的相同串的长度就是max(height[i],height[i+1]),这个后缀贡献的最短不同串长度就是len=max(height[i],height[ ...

  6. Zookeeper(1、3、5节点)集群安装

    1节点 1 week110的zookeeper的安装 + zookeeper提供少量数据的存储 3节点 hadoop-2.6.0.tar.gz的集群搭建(3节点) hadoop-2.6.0-cdh5. ...

  7. PHP + jquery.validate remote的用法

    [ 转 ] http://www.cnlvzi.com/index.php/Index/article/id/58 最近做验证功能时,用到jquery.validate.js中的remote远程验证方 ...

  8. PyQt5编程入门

    1  25行的弹出式闹钟 import sys import time from PyQt5 import QtCore from PyQt5.QtWidgets import QLabel from ...

  9. JAVA常用知识总结(五)——Linux

    简单介绍一下 Linux 文件系统? 在Linux操作系统中,所有被操作系统管理的资源,例如网络接口卡.磁盘驱动器.打印机.输入输出设备.普通文件或是目录都被看作是一个文件. 也就是说在LINUX系统 ...

  10. qconbeijing2018

    https://2018.qconbeijing.com/schedule 会议 · 第一天 (2018/04/20 周五) 时间 日程 上午 主题演讲 大数据下的软件质量建设实践 黄闻欣 出品 人工 ...