Fortran学习笔记2(变量声明)
常数的申明方式
程序中所有处理的数据,有些事固定不变的常数,如圆周率π和重力加速度G等。
此时,程序员可以利用parameter来定义常量。
program main
implicit none
real pi
parameter(pi=3.1415926)
write(*,"(F4.2)") sin(pi/6)
end program main
在申明变量的时候,parameter相当于一个形容词,如果将形容词和变量申明写在一起时,冒号不能省略。如:
real*8,parameter::pi=3.1425926 ! 此处冒号不能省略
除了parameter,Fortran90还有其他的形容词。
变量初始化
Fortran90中要设置变量初值时,直接把数值写在变量的后面就可以了(当然要用赋值语句!!!)。
program main
implicit none
integer::a=5
real(kind=8)::pi=3.14
complex::c=(12.6,8.01)
character(len=80)::string="good good study,day day up!"
write(*,*)a,pi,c,string(1:76)
end program main
Fortran77则要用Data命令来赋初值。data的语法是其后接所要设置的变量,并将变量用两个斜杠封装。
PROGRAM MAIN !Fortran77的程序
IMPLICIT NONE
INTEGER A
REAL B
COMPLEX C
CHARACTER*(80) string
DATA A,B,C,STRING/1,2.0,(1.0,2.0),'GOOD GOOD STUDY,DAY DAY UP!'/
WRITE(*,*)A,B,C,STRING(1:76)
END PROGRAM MAIN
等价申明EQUIALENCE
把两个以上变量,声明他们使用同一个内存地址,就是“等价声明”。使用等价声明就是给同一个房间取几个不同的名字,当其中一个变量的值发生变化时,与它等价的变量的值也相应的发生变化。
integer a,b
equivalence(a,b) !声明a,b使用同一块内存
类型转化
在同一个表达式中,数据类型不同,会出现什么现象?答案是,编译器会自动把数据类型转化,形成统一的数据类型在进行计算。但是并不能保证自动转化完全正确。所以最好使用强制类型转换。
INT(A) ! 将A转换成整型
real(a) ! 将A转换成浮点型
自定义类型
先看一个例子:
type::book ! 定义一个名叫book的新变量类型
character(len=80)::name !记录输的名字
character(len=80)::author !记录作者
integer::totalpage !记录全书的页码数
end type book !结束类型自定义
type::book中的冒号可以省略。在定义了新类型之后就可以使用它定义该类型的变量。
program main
implicit none
type::book ! 定义一个名叫book的新变量类型
character(len=80)::name !记录输的名字
character(len=80)::author !记录作者
integer::totalpage !记录全书的页码数
end type book !结束类型自定义
type(book)::a
a=book("Gone with the wind","Margaret Munnerlyn Mitchell",1608)
write(*,*)a
end program main
KIND用法
kind主要用来声明变量所占内存的大小。变量占用内存大小,主要取决于变量的范围和他的有效位数的要求。
Fortran学习笔记2(变量声明)的更多相关文章
- 批处理学习笔记3 - 变量声明和goto代替while循环
批处理中没有while循环,只能用goto代替.下面是代码 @echo off set /a i = 0 :again echo %i% set /a i= %i% + 1 if %i% lss 10 ...
- ES6学习笔记之变量声明let,const
最近用淘宝的weex做了个项目,最近稍微闲下来了.正好很久没有接触RN了,所以趁这个机会系统的学习一下ES6的相关知识. 孔子说:没有对比就没有伤害.所以我们要拿ES6和ES5好好对比的学习.这样才能 ...
- scala学习笔记:变量声明中的模式
先看个正常的写法: scala> val x = 1 x: Int = 1 体会一下元组的写法: scala> val (x,y,z)=(1,2,3) x: Int = 1 y: Int ...
- Fortran学习笔记:01 基本格式与变量声明
Fortran学习笔记目录 01 基本格式与变量声明 格式 固定格式(Fixed Format):Fortran77 程序需要满足一种特定的格式要求,具体形式参考教材 自由格式(Free Format ...
- Fortran学习笔记:02 流控制语句
Fortran学习笔记目录 书接上回:Fortran学习笔记:01 基本格式与变量声明 流控制语句 IF语句 IF (逻辑表达式) THEN ... ELSE ... END IF SELECT-CA ...
- (目录)Fortran学习笔记:开坑!!!
前言:因为某些原因,需要使用Fortran编写程序,记录下Fortran语法学习过程中的部分笔记.在此开坑记录,立下Flag,"希望年末能够更新完" Fortran 学习笔记 陈橙 ...
- Fortran学习笔记4(循环语句)
Fortran学习笔记4 Fortran学习笔记4 逻辑运算 循环 Do语句 Do-While循环 循环控制 循环应用实例 逻辑运算 if命令需要和逻辑运算表达式搭配才能起到很好的效果.下面分别列出F ...
- ES6学习笔记之变量的解构赋值
变量的解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构. 数组的解构赋值 以前,为变量赋值,只能直接指定值: 1 2 3 var a = 1; var b = 2; ...
- Fortran学习笔记:03 数组(Array)
Fortran学习笔记目录 书接上回:Fortran学习笔记:02 流控制语句 数组(Array) 定义数组 一维数组 program main implicit none integer :: i ...
- Fortran学习笔记6(函数、子程序)
子程序Subroutine 自定义函数Function 全局变量COMMON BLOCK DATA 程序代码中,常常会在不同的地方重复用到某一功能和重复某一代码,这个时候就要使用函数.函数包括内嵌函数 ...
随机推荐
- 2019年最新总结,从程序员到CTO,从专业走向卓越,大牛分享文档pdf与PPT整理
整理大牛分享文档如下,持续更新一线开发架构,技术文档 github链接 网易蜂巢公有容器云架构之路 新浪微博redis优化历程 微博Cache架构设计实践 Go在大数据开发中的经验总结 基于Go构建滴 ...
- Java的12个语法糖【转】
本文转载自公众号 Hollis 原创: 会反编译的 Hollis 侵权删 本文从 Java 编译原理角度,深入字节码及 class 文件,抽丝剥茧,了解 Java 中的语法糖原理及用法,帮助大家在学 ...
- 原来TextBox打开了MultiLine之后就不能使用AutoComplete了
private void Form1_Load(object sender, EventArgs e) { // Create the list to use as the custom source ...
- bzoj1660:[Usaco2006 Nov]badhair乱头发节
Description 农民John的某 N 头奶牛 (1 <= N <= 80,000) 正在过乱头发节!由于每头牛都 意识到自己凌乱不堪的发型, FJ 希望统计出能够看到其他牛的头发的 ...
- Hexo搭建博客教程(1) - 安装环境与本地搭建
前言 搭建个人博客一般有两种选择,一个是使用WordPress,但是需要将博客搭建在服务器上,不过搭建好后写文章方便,适合没有程序基础的人使用.另一个是使用Hexo,相对简洁高效,不需要服务器,既可以 ...
- 关于maven+springmvc+mybits搭建的框架clean,build后错误:org.apache.ibatis.binding.BindingException的处理
1.错误原型截图: 2.我对错误的处理轨迹: a.首先,可能是我的mapper.xml配置错了,但是经过查看发现mybits.xml配置如下: 我项目的目录结构如下: 初次判断mybits的配置没有问 ...
- [題解](狀壓/水)luogu_P1879玉米田
大水題然而因為智障的錯誤调了半天......n,m别反着输入啊......內外循環和狀態數都不等價 别的就是記錄一下每一行不可行的點,也狀壓一下,dp的時候判一下即可 #include<bits ...
- hdu2586 LCA带边权的Targan算法
bryce1010模板 http://acm.hdu.edu.cn/showproblem.php?pid=2586 #include<bits/stdc++.h> using names ...
- Jasper_crosstab_headerPosition_columngroup header position config - (headerPosition="Stretch")
i.e <columnGroup name="column11" height="20" totalPosition="Start" ...
- Web 前端开发代码规范(基础)
一. 引言 对于一个多人团队来说,制定一个统一的规范是必要的,因为个性化的东西无法产生良好的聚合效果,规范化可以提高编码工作效率,使代码保持统一的风格,以便于代码整合和后期维护. 二. HTML/CS ...