codecamp

Fortran语言文字

Fortran语言可以把字符作为单个字符或字符串连片。

人物可能是从基本字符集,即从字母,十进制数字,下划线和21特殊字符所采取的任何符号。

字符常量是一个固定值的字符串。

内部数据类型存储字符的字符和字符串。字符串的长度可以通过LEN说明指定。如果未指定长度,它是1。您可以一个字符串按位置指内引用单个字符;最左边的字符的位置是1。

性格宣言

声明一个字符类型的数据是一样的其他变量:

type-specifier :: variable_name

例如,

character :: reply, sex

您可以分配一个值一样,

reply = ‘N’ 
sex = ‘F’

下面的例子演示了声明和使用字符数据类型:

program hello
implicit none

   character(len=15) :: surname, firstname 
   character(len=6) :: title 
   character(len=25)::greetings
   
   title = 'Mr. ' 
   firstname = 'Rowan ' 
   surname = 'Atkinson'
   greetings = 'A big hello from Mr. Bean'
   
   print *, 'Here is ', title, firstname, surname
   print *, greetings
   
end program hello

当你编译和执行上面的程序它产生以下结果:

Here is Mr. Rowan Atkinson       
A big hello from Mr. Bean

人物的级联

连接运算符//符,连接字符。

下面的例子说明了这一点:

program hello
implicit none

   character(len=15) :: surname, firstname 
   character(len=6) :: title 
   character(len=40):: name
   character(len=25)::greetings
   
   title = 'Mr. ' 
   firstname = 'Rowan ' 
   surname = 'Atkinson'
   
   name = title//firstname//surname
   greetings = 'A big hello from Mr. Bean'
   
   print *, 'Here is ', name
   print *, greetings
   
end program hello

当你编译和执行上面的程序它产生以下结果:

Here is Mr.Rowan Atkinson       
A big hello from Mr.Bean

一些字符函数

下表显示与说明书一起一些常用字符的功能:

功能描述
LEN(字符串) 它返回字符串的长度
指数(字符串,sustring) 它科幻NDS子串的位置在另一个字符串,如果没有找到返回0。
ACHAR(INT) 一个整数转换成字符
IACHAR(三) 它的字符转换成一个整数
TRIM(字符串) 它返回删除了尾随空格的字符串。
扫描(字符串,字符) 它搜索“字符串”由左到右(除非回来= .TRUE。)包含在“字符”任意字符的第一次出现。它返回一个整数,该字符,或零的位置,如果没有一个字符的“字符”已被发现。
验证(字符串,字符) 它扫描“字符串”由左到右(除非回来= .TRUE。)不包含在“字符”任意字符的第一次出现。如果只在“字符”的人物已经发现它返回一个整数,该字符的位置,或零
adjustl(字符串) 它留下载于“串”,不问角色
adjustr(字符串) 它的权利证明包含在“串”字
LEN_TRIM(字符串) 它返回等于“字符串”的长度整数(LEN(字符串))减去尾随空白的数量
重复(字符串,NCOPY) 它返回长度等于一个字符串“NCOPY”时代“串”的长度,以及包含“NCOPY”“串”的拼接副本

例1

这个例子显示使用索引功能:

program testingChars
implicit none

   character (80) :: text 
   integer :: i 
   
   text = 'The intrinsic data type character stores characters and   strings.'
   i=index(text,'character') 
   
   if (i /= 0) then
      print *, ' The word character found at position ',i 
      print *, ' in text: ', text 
   end if
   
end program testingChars

当你编译和执行上面的程序它产生以下结果:

The word character found at position 25
in text : The intrinsic data type character stores characters and strings.  

例2

这个例子演示了如何使用装饰功能:

program hello
implicit none

   character(len=15) :: surname, firstname 
   character(len=6) :: title 
   character(len=25)::greetings
   
   title = 'Mr.' 
   firstname = 'Rowan' 
   surname = 'Atkinson'
   
   print *, 'Here is', title, firstname, surname
   print *, 'Here is', trim(title),' ',trim(firstname),' ', trim(surname)
   
end program hello

当你编译和执行上面的程序它产生以下结果:

Here is Mr. Rowan Atkinson       
Here is Mr. Rowan Atkinson

例3

这个例子说明了如何使用ACHAR功能

program testingChars
implicit none

   character:: ch
   integer:: i
   
   do i=65, 90
      ch = achar(i)
      print*, i, ' ', ch
   end do
   
end program testingChars

当你编译和执行上面的程序它产生以下结果:

65  A
66  B
67  C
68  D
69  E
70  F
71  G
72  H
73  I
74  J
75  K
76  L
77  M
78  N
79  O
80  P
81  Q
82  R
83  S
84  T
85  U
86  V
87  W
88  X
89  Y
90  Z

检查汉字词汇顺序

以下功能确定字符的词法序列:

功能描述
LLE(字符,字符) 比较第一字符是否是词法小于或等于第二
LG电子(字符,字符) 比较第一字符是否是词法大于或等于第二
LGT(字符,字符) 比较的第一个字符是词法大于第二
LLT(字符,字符) 比较第一字符是否是词法比第二少

例4

下面的函数演示了如何使用:

program testingChars
implicit none

   character:: a, b, c
   a = 'A'
   b = 'a'
   c = 'B'
   
   if(lgt(a,b)) then
      print *, 'A is lexically greater than a'
   else
      print *, 'a is lexically greater than A'
   end if
   
   if(lgt(a,c)) then
      print *, 'A is lexically greater than B'
   else
      print *, 'B is lexically greater than A'
   end if  
   
   if(llt(a,b)) then
      print *, 'A is lexically less than a'
   end if
   
   if(llt(a,c)) then
      print *, 'A is lexically less than B'
   end if
   
end program testingChars

当你编译和执行上面的程序它产生以下结果:

a is lexically greater than A
B is lexically greater than A
A is lexically less than a
A is lexically less than B

Fortran语言概述
Fortran语言 - 环境设置
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }