Fortran学习笔记——5.其他
一些琐碎的小部分,放在最后。
自定义类型
Fortran 90 支持自定义类型,相当于 c 语言的结构体。
1 | program main |
字符/字符串
在前面的基本数据类型的笔记中,我们特意完全忽略了字符和字符串的部分,只是在 write 语句中使用了字符串常量。 注:Fortran 对于字符串的处理效率比较慢,谨慎使用——数值计算其实也没什么字符串处理的需求。
与 c 语言不同,Fortran 的字符串不是定义为字符的一维数组,而是进行了单独的实现 (可能这就是低效率的原因?)
1 | character :: c |
Fortran 只有在字符和字符串的字面值常量中,会区分大小写。可以基于字面值常量进行赋值。
1 | c = ‘H' |
虽然和数组不同,但是字符串也支持类似于数组的切片操作。
1 | str1(2) = 'o' |
对于两个字符串常量或变量,可以使用//进行直接的拼接。对于中间存在空格的字符串,默认 write(*,*)输出可能出现问题,因为对字符串的输出遇到空格就结束了;默认 read(*,*)输入字符串也会存在问题,因为空格会被视作多个字符串的分隔。
格式化 IO
输入 read(*,*)的形式为
1 | read(unit=5,fmt=*) |
输出 write(*,*)的第一个参数指代屏幕输出,第二个参数可以替换为具体格式。下面的部分使用下划线代替空格。
整数格式化
1 | Iw[.m] |
实数格式化(浮点数)
1 | Fw.d |
实数格式化(科学计数法)
1 | Ew.d[Ee] |
字符串格式化
1 | Aw |
其他
1 | nX |
倾向于不使用格式化输入输出,不然有可能输出全是星号。(真是太离谱了)了解一下即可。
文件读写
最基本的文件写入例子
1 | program main |
首先通过 open 命令打开一个 hello.txt 文件,并且编号记录为 10,运行时会在当前目录下的 hello.txt 文件中写入如下内容
1 | a/b= 0 |
文件读写和 c 语言类似,有非常多的选项,包括打开方式,二进制文件或文本文件等,略。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment