Fortran输入输出与声明--xdd
1.建议程序总体格式:
program ex1.
...
end progr
2.想要打出 My name is "xdd".
write(*,*)" My name is "xdd"."
3.声明类型 标识符 字符串处理
- 默认为长整形 单精度浮点数(kind=4)
- Fortran中不区分大小写,所以变量名A、a表示同一变量
- 返回字符串长度:len(str)
- 返回字符串去处空格后的长度:trim(str)
- 连接两个字符串:c=str1//str2 !使用两个/即可连接字符串
- index(str1,str2) !返回str2在str1中首次出现的位置
integer a 或 integer::a
real b 或 real::b
real(kind=) c 或 real(kind=8)::c
4 complex a 或 complex::a 或 complex(kind=8)::a
5 a=(1.0,2.0) !a=1+2
6 character ::a (a是一个字符) 或 character(len=10)::a 或 character(10)::a !所有::均可省略
7 a="xieshg" !fortran90 对于字符串,单双引号均可
8 logical::a
9 a=.true. !注意有两个点
4.输入输出(write,read)
如用format,一定要放好位置
program ex
integer::a
real::b
a=
write(*,) a
write(*,) b
format (I4) !用4列显示整数a
format(F10.) !输出数据占10列,小数部分占6列
end program !write(*,"(1X,I5)") a
!write(*,"3(1X,I5)") a,b,c
!write(*,"(I5)") b
!write(*,"(A5)") str !以5个字符宽度输出字符串
!write(*,"(E10.6)") a !以指数格式输出,一共占10位,小数部分占6位
/ !换行
program ex0622
character(len=) str
read(*,"(A80)"),str !有长度这样可以避免逗号使机器读取数据结束
write(*,"(A80)"),str
end program
5.变量先声明后使用,虽然麻烦一些,但可避免许多错误,尤其是输入错误,而且还不会报错!所以取消默认很重要。
implicit none !关闭默认类型功能,所有变量的使用都要事先定义
- 声明常量,能减少编写错误的机会,增加计算机执行速度
- 变量赋初值时冒号也不能省略
- Fortran77赋初值时,只能用DATA
- 所有的变量声明都要在执行语句的前面,一旦开始执行就不能再有声明
real,parameter::pi=3.1415926 !此处冒号不能省略
real::c=2.1 !此处冒号不能省略 !Fortran77
integer a
real b
complex c
character(len=10) d
data a,b c d /1,2.0,(1.0,2.0),'xiedd'/ !Fortran77字符串要用单引号
6.变量类型自定义(a%name) 见《Fortran 95 程序设计》P65 彭国伦老师著
7.kind的使用
| integer(kind=2) | -32768~32767 |
| integer(kind=4) | -2147483648~2147483647 |
| real(kind=4) | ±1.18*10-38-±3.40*1038 |
| real(kind=8) | ±2.23*10-308-±1.79*10308 |
!判断可以记录9个位数的整数的kind值
integer,parameter::long_int=selected_int_kind()
!判断可以有10个有效位数,指数可以记录到50的浮点数kind值
integer,parameter::long_real=selected_real_kind(,) integer(kind=long_int)::a=
real(kind=long_real)::b=.23456789D45
write by xdd 2019-09-19 15:48:15

Fortran输入输出与声明--xdd的更多相关文章
- Fortran数组、函数--xdd
1.数组的声明 integer,parameter::num= integer::student(num) 或者 integer a() 或者 integer a(,) student()= !第一个 ...
- FORTRAN程序设计权威指南
<FORTRAN程序设计权威指南> 基本信息 作者: 白海波 出版社:机械工业出版社 ISBN:9787111421146 上架时间:2013-7-23 出版日期:2013 年7月 ...
- 第一周—Fortran语言学习
使用教材:Fortran95程序设计[彭国伦] 第二章 编译器的使用 编译结果的好坏 1.翻译正确 2.执行文件的运行效率 3.翻译出来的执行码的长短 4.编译过程花费的时间 5.编译器提供Debug ...
- Fortran学习笔记5(数组Array)
数组的声明方式 一维数组 二维数组 多维数组 数组索引值的改变 自定义类型的数组定义 对数组内容的设置 利用隐含式循环设置数组初值 对整个数组操作 对部分数组的操作 where函数 Forall函数 ...
- RTTI(Runtime Type Information )
RTTI 是“Runtime Type Information”的缩写,意思是:运行时类型信息.它提供了运行时确定对象类型的方法.本文将简略介绍 RTTI 的一些背景知识.描述 RTTI 的概念,并通 ...
- scanf函数和printf函数
C程序实现输出和输入的 主要是printf函数 和 scanf函数,这两个函数是格式输入输出 格式声明由%和格式字符组成 如%d,%f 格式字符: d格式符:用来输出一个有符号的十进制整数 c格式 ...
- 201621123060 《Java程序设计》第五周学习总结
1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 继承.多态.抽象类与接口 1.2 尝试使用思维导图将这些关键词组织起来.注:思维导图一般不需要出现过多的字. 2. 书面作业 作 ...
- ZT --- extern "C"用法详解 2010-08-21 19:14:12
extern "C"用法详解 2010-08-21 19:14:12 分类: C/C++ 1.前言: 时常在cpp的代码之中看到这样的代码: #ifdef __cplusplus ...
- 卷积神经网络CNN原理以及TensorFlow实现
在知乎上看到一段介绍卷积神经网络的文章,感觉讲的特别直观明了,我整理了一下.首先介绍原理部分. [透析] 卷积神经网络CNN究竟是怎样一步一步工作的? 通过一个图像分类问题介绍卷积神经网络是如何工作的 ...
随机推荐
- 面试题-javascript-面向对象编程
笔者在某次笔试中遇到这个题:印象很深. function ClassA() { var value=4; this.getValue= function() { return value; } thi ...
- ansible模块之yum、pip、service、corn、user、group
ansible相关模块 yum rpm 和yum 的区别 rpm:全称redhat package manager (红帽包管理器) 不能解决包之间的依赖关系 yum:可以解决依赖关系 yum 源配置 ...
- 汇编窥探Swift String的底层
String(字符串),是所有编程语言中非常重要的成员,因此非常值得去深入研究.众所周知,字符串的本质是字符序列,由若干个字符组成.比如字符串 "iOS" 由 'i'.'O'.'S ...
- 你还在用BeanUtils进行对象属性拷贝?
在做业务的时候,为了隔离变化,我们会将DAO查询出来的DO和对前端提供的DTO隔离开来.大概90%的时候,它们的结构都是类似的:但是我们很不喜欢写很多冗长的b.setF1(a.getF1())这样的代 ...
- net core WebApi——公用库April.Util公开及发布
前言 在之前鼓捣过一次基础工程April.WebApi后,就考虑把常用的类库打包做成一个公共类库,这样既方便维护也方便后续做快速开发使用,仓库地址:April.Util_github,April.Ut ...
- JavaSE语法(中)
6.当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 是值传递.Java语言的方法调用支持参数的值传递.当一个对象实例作为一个 ...
- 我把数表A了
真kx 之前打一棵沙雕主席树,复杂度和正解一毛一样,结果常数爆炸了! 我一直天真的认为卡卡常这题就能AC,然后卡常卡到死也没A掉,极限数据大概跑了1.1s 今天终于打正解了,离线处理,可以用常数更小的 ...
- python购物车练习题
# 购物车练习# 1.启动程序后,让用户输入工资,打印商品列表# 2.允许用户根据商品编号购买商品# 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒# 4.可随时退出,退出时,打印已购买 ...
- python——namedtuple
namedtuple()概念理解分享 我们都知道元组tuple的概念,tuple是一个定义之后就不能够更改的可迭代对象,namedtuple作为tuple的兄弟具有同样的属性,一旦定义就不可以更改.但 ...
- day-5元组专区
*元组,元素不可被修改,不能被增加或者删除tupletu = (11,22,33,44)tu.count(22),获取指定元素在元组中出现的次数tu.index(22),索引22在元组中位置(左到右第 ...