Fortran 中的五种基本数据类型和派生类型介绍
2016-11-29 11:30
489 查看
! ! 编程环境Simply Fortran ! ! Fortran 中的五种基本数据类型和派生类型介绍 ! 五种基本数据类型分别为: ! 整型 ! 实型 ! 逻辑类型 ! 字符类型 ! 复数类型 program helloworld implicit none ! 1 整型 integer :: age ! 默认为4字节长度 integer(kind = 1) :: sex ! kind = 1 指定使用的字节数 integer(kind = 8) :: longval ! 可通过kind(val)方法查看变量使用的字节数 ! huge(val) 查看变量所能容纳的最大数目 ! 2 实型 ! 用法与integer相似 ! 默认实型和双精度型 ! 除法运算同c一样,结果取精度高的类型 real :: real_1, real_2 integer :: int_1, int_2 ! 3 逻辑类型 logical(1) :: logi_T, logi_F ! 4 字符类型 ! 存储字符和字符串,默认长度为1 ! ch_val(start:end) 可以容易的得到子串, ! start和end分别为起始和结束位置 ! 字符串操作:字符串拼接符 //,用于连接两个字符串; ! trim(str) 返回去掉尾随空格的字符串; ! index(str,sub) 在一个字符串找出子串的位置,没有返回0 character(len = 40) :: subStr0 character(len = 20) :: subStr1 character(len = 20) :: subStr2 character(len = 20) :: subStr3 ! 5 复数类型 complex :: cx_1 ! 6 派生数据类型 ! 为了方便的存储一个记录,可以通过以上基本数据类型构造实用的派生类 ! 派生类型格式: ! type type_name !派生类型开始 ! ! 在此声明变量 ! end type ! 派生类结束标记 type Person character(len=20) :: name integer(kind = 4) :: age logical(kind=1) :: gender real(kind=4) :: height end type Person ! 派生类型person的使用 type(Person) :: Zhangsan, lisi ! --------------------------integer------------ age = 100 sex = 1 print *, age, sex, kind(age), kind(longVal), huge(longVal) ! --------------------------real------------ int_1 = 2; int_2 = 3 real_1 = 2.0; real_2 = 3.0 print *, real_1/real_2, int_2/real_1, int_1/int_2, int_2/int_1 ! --------------------------logical------------ ! 注意:逻辑类型只有两个值,true和false两侧都有一个“.”号 logi_T = .true. logi_F = .false. print *, logi_T, logi_F ! --------------------------character----------- subStr1 = 'hello Fortran' subStr2 = 'hi FORTRAN' subStr3 = 'Fortran' subStr0 = subStr1//subStr2 print *, subStr1, subStr1(1:5), ' ', subStr0 print *, trim(subStr1)//trim(subStr2) print *, index(trim(subStr1), trim(subStr3)), & index(trim(subStr2), trim(subStr3)) ! --------------------------complex------------ cx_1 = (3.0, 5.0) print *, cx_1 ! --------------------------derive type------------ Zhangsan = Person('zhangsan', 23, .true., 178.3) lisi%name = 'lisi' lisi%age = 25 lisi%gender = .false. lisi%height = 160.3 print *, 'zhangsan:', Zhangsan%name, Zhangsan%age, & 'lisi:', lisi end program helloworld
相关文章推荐
- Python基本数据类型详细介绍
- python基础教程之基本内置数据类型介绍
- Python最基本的数据类型以及对元组的介绍
- JAVA基本数据类型简单介绍
- javascript中的五种基本数据类型
- Tuxedo数据buffer基本类型介绍
- JavaScript自学笔记第3讲:JavaScript基本数据类型介绍
- 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma
- Redis五种数据类型介绍
- Python基本数据类型详细介绍
- Python基本数据类型详细介绍(转)
- linux下32位机与64位机基本数据类型长度区别介绍
- JAVA平台介绍和基本数据类型讲解
- Objective-C 的基本数据类型、数字、字符串和集合等介绍
- c语言基本数据类型简单介绍
- python基础教程之基本内置数据类型介绍
- python基础教程之基本数据类型和变量声明介绍
- 浅谈javascript的五种基本数据类型
- Objective-C 的基本数据类型、数字、字符串和集合等介绍
- C++之基本数据类型介绍