文章目录

  • 数据类型
  • implicit函数
  • 数据类型转换

上节内容: fortran安装和编译

数据类型

fortran共有5中数据类型

整数 实数 复数 逻辑 字符
integer real complex logical character

kind参数,可以指定变量所占位数,例如integer(kind=4)表示占据4byte的整型,也就是32位整型。

len参数,可以声明字符个数,例如character(len=80)表示长度为80的字符串。

在声明变量时,数据类型和变量名之间用::隔开,正如上节示例程序中的real :: a, b, res

fortran除了变量之外,还有常量,例如logical类型的两个值.true..false.就是两个常量。除此之外,若想创建常量,需要用到parameter命令,例如

real pi
parameter(pi=3.1415926535)

也可以在声明时直接赋值

real, parameter :: pi = 3.1415926535

implicit函数

通过implicit,可以将变量的首字母和数据类型关联起来,例如implicit integer(A-F,I,K),可以指定以A-F或者I, K开头的变量为整型,当然fortran是不分大小写的。

! impliTest.f95
program addNumimplicit complex(A-C)implicit real(D-G)implicit integer(i,j,k)a = 1d = 1i = 1print *, a, d, iend program addNum

编译之后得到结果

>gfortran impliTest.f95
1>a.exe
(1.00000000,0.00000000)   1.00000000     1

fortran对变量首字母是有默认要求的,即不加任何implicit的情况下,变量名以i, j, k, l, m, n开头即为整型,否则位浮点型,此即fortran77的I-N规则。惊闻此讯,那不得赶紧尝鲜一下77年的规则?

但刚刚在试复数时发现了一个问题,尽管复数是fortran的内置类型,但要怎样才能创建一个复数呢?

这就是接下来要说的,数据类型转换。

数据类型转换

首先要解决的问题是创建复数的问题,这个很容易,只需cmplx(x, [y, kind]),可以将xy转换为x+iuy默认为0。

其他的数据类型转换主要涉及到整型和实型,由整数变成实数非常容易,只需考虑转换的位数问题,dble将整数转换为双精度浮点数;real(a [,kind])函数可将a转为kind位的实数。

反之则稍微复杂,由于涉及到舍入问题,故有四种转换函数

函数 说明 函数 说明
int 取a的整数部分 nint 四舍五入
ceiling 向上取整 floor 向下取整

有两个函数也有取整功能,但不改变数据类型,aintanint的功能与int, nint相同,但返回值是实数。

字符虽然看上去和数字没什么关系,但其编码过程仍然需要与数字进行意义对应,fortran中提供了ASCII码的转换函数

  • ACHAR(n) 将ASCII转为字符,n=0,1,⋯,127n=0,1,\cdots,127n=0,1,⋯,127
  • CHAR(n) 将ASCII转为字符,n=0,1,⋯,255n=0,1,\cdots,255n=0,1,⋯,255
  • IACHAR(c) 将字符c转为ASCII,范围是0,1,⋯,1270,1,\cdots,1270,1,⋯,127
  • ICHAR(c) 将字符c转为ASCII,范围是0,1,⋯,2550,1,\cdots,2550,1,⋯,255

指针

fortran中,指针需要用关键字pointer来声明,通过函数allocate来开辟指针的内存,具体示例如下

program ptTest
implicit noneinteger, pointer :: p1allocate(p1)p1 = 1print *, p1p1 = p1 + 4print *, p1end program ptTest

由于指针只有在面对复杂的数据结构时,才会绽放威力,所以这里就不细说了。

fortran教程2:数据类型相关推荐

  1. numeric scale mysql_MySQL基础教程1 — 数据类型之数值类型 - numeric

    ...if (!$dateTimeString) { $dateTimeString = time(); } $numeric = ''; $add_space = false; for($i=0;$ ...

  2. Python学习教程:数据类型—字符串大总结

    Python学习教程:数据类型-字符串大总结 1. Python字符串的创建 字符串是Python中最常见的数据类型,通常使用单引号或双引号来定义一个字符串,如下: str = "我是字符串 ...

  3. Kotlin教程学习-数据类型

    2019独角兽企业重金招聘Python工程师标准>>> 一切都是对象. 在Kotlin中一切都是对象.Kotlin有一些基本类型Boolean,Byte,Shot,Int,Long, ...

  4. Fortran教程3:函数和子过程

    文章目录 运算符 函数 子过程 递归 前两节: 1 安装和编译: 2 数据类型 运算符 Fortran中运算符分为三类,即算术.关系.逻辑.算术运算符有5个,即+, -, *, /, **,表示加.减 ...

  5. matlab整型和浮点的区别,技术帖 | 心理学MATLAB初学者教程--简单数据类型介绍(逻辑型数据,整型/浮点型数据,字符型)......

    1.2.1 什么是变量和变量名 变量这个词似乎在许多地方都有出现,在计算机中变量是指是一段有名字的连续存储空间(摘自百度百科),而这个所谓的名字就叫做变量名.举个例子说现在我们再MATLAB的命令窗口 ...

  6. pythontuple数据类型_Python基础教程2d–数据类型-tuple(元组)

    1定义 tuple(元组)也是一种顺序结构的数据类型,定义一个空元组的方法用英文小括号: 变量名=() t = () 定义一个包含了多个元素的元组在小括号中用逗号分隔开各个元素: 源码print('\ ...

  7. 后端返回number类型数据_Javascript基础教程之数据类型 (数值 Number)

    javascript中想限定一个数的数值,无需限定它是整数还是浮点数型 var num1 = 80 ; var num2 = 55.51; var num3 = -34; var num4 = 9e5 ...

  8. C语言基础学习教程之数据类型

    在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统.变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式. C 中的类型可分为以下几种: 序号 类型与描述 1 基本类型 ...

  9. fortran教程9:和C语言混合编程

    文章目录 编译dll 调用dll 数据类型对应 在C语言中调用 前情提要: 1 安装和编译

最新文章

  1. NYOJ_16_矩形嵌套
  2. Centos7.2搭建Openstack的Swift组件,查看状态:No such file or directory
  3. Spring学习笔记-构造和Set方法注入Bean及集合和null值的注入
  4. 仅30分钟,在同一台设备安装discourse和wordpress
  5. (转)Ubuntu下JDK7安装全过程并调试第一个带包的java程序
  6. 一道笔试题:贿赂选民
  7. ERP+WMS信息一体化案例:汽车钢板弹簧企业【神风弹簧】
  8. MySQL配置文件配置
  9. Hspice使用.DATA进行仿真分析
  10. cad快速选择命令快捷键_CAD人必知的6大CAD操作命令及快捷键
  11. mac下用ImageOptim压缩png图片
  12. C#如何消除按键提示声音?
  13. 海底捞成功的全套培训体系(收藏)
  14. 进行一个幂的运算(数学)
  15. 王牌战士服务器维修,王牌战士开服时间表 开服时间一览[多图]
  16. mac设置文件权限_如何在Mac上设置文件权限
  17. 支付退款流程设计_如何设计订单系统?不妨看看这篇文章
  18. 秦牧鸿蒙之体有什么用,玄幻:开局奖励鸿蒙圣体
  19. myeclipse10过期
  20. WIN7系统安装及动态分区详解步骤

热门文章

  1. GoldenDict中能用的在线翻译源
  2. JMeter安装及环境配置
  3. open-falcon集成grafana
  4. 《算法》第四版《Algorithms》4th Edition 学习环境搭建
  5. 飞翔的小鸟--Java小游戏实战(代码完整)
  6. go语言,安装包fetch error 问题解决方案
  7. 博客园定制页面(一)——博客园设置相关参考
  8. 斯坦福大学计算机视觉课程cs231n——第一课:课程介绍 计算机视觉概述
  9. 【TAMP-S2GCNets】【第一部分】论文学习
  10. 2023年MathorCup数模B题赛题