鍍金池/ 教程/ Java/ Fortran字符
Fortran還原功能
Fortran關(guān)系運算符
Fortran運算符優(yōu)先級
Fortran基本語法
Fortran文件輸入輸出
Fortran嵌套select case結(jié)構(gòu)
Fortran變量
Fortran Cycle語句
Fortran語言環(huán)境設(shè)置
Fortran數(shù)據(jù)類型
Fortran數(shù)組
Fortran字符
Fortran if...else if...else 語句
Fortran調(diào)試程序
Fortran編程風(fēng)格
Fortran if...then語句結(jié)構(gòu)
Fortran嵌套循環(huán)
Fortran常量
Fortran循環(huán)
Fortran導(dǎo)出數(shù)據(jù)類型
Fortran字符串
Fortran操作函數(shù)
Fortran do...while循環(huán)結(jié)構(gòu)
Fortran內(nèi)部函數(shù)
Fortran數(shù)字精度
Fortran選擇決策
Fortran重塑函數(shù)
Fortran運算符
Fortran構(gòu)造函數(shù)
Fortran模塊
Fortran位置函數(shù)
Fortran數(shù)字
Fortran指針
Fortran算術(shù)運算符
Fortran exit語句
Fortran動態(tài)數(shù)組
Fortran嵌套if結(jié)構(gòu)
Fortran select case結(jié)構(gòu)
Fortran向量和矩陣乘法函數(shù)
Fortran邏輯運算符
Fortran if...then...else 結(jié)構(gòu)
Fortran教程
Fortran過程
Fortran Stop語句
Fortran基本輸入輸出
Fortran do循環(huán)結(jié)構(gòu)
Fortran查詢函數(shù)

Fortran字符

Fortran語言可以把字符作為單個字符或連續(xù)的字符串。

字符可以是從基本的字符集,即從字母,十進制數(shù)字,下劃線和21特殊字符所采取的任何符號。

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

內(nèi)部數(shù)據(jù)類型的字符存儲字符和字符串。字符串的長度可以通過len個符來指定。如果沒有指定長度,它是長度是1. 可以將字符串按位置指的是指在單個字符;最左邊的字符的位置是1。

字符聲明

聲明一個字符類型的數(shù)據(jù)是一樣的其他變量:

type-specifier :: variable_name

例如,

character :: reply, sex

可以指定一個值類似,

reply = N 
sex = F

下面的例子演示了聲明和使用字符數(shù)據(jù)類型:

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. Beans'
   
   print *, 'Here is ', title, firstname, surname
   print *, greetings
   
end program hello

當(dāng)編譯并執(zhí)行上述程序,將產(chǎn)生以下結(jié)果:

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. Beans'
   
   print *, 'Here is ', name
   print *, greetings
   
end program hello

當(dāng)編譯并執(zhí)行上述程序,將產(chǎn)生以下結(jié)果:

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

一些字符函數(shù)

下表顯示描述一些常用字符的函數(shù):

函數(shù) 描述
len(string) 它返回字符串的長度
index(string,sustring) 在一個字符串找出子串的位置,如果沒有找到則返回0。
achar(int) 將整數(shù)轉(zhuǎn)換成一個字符
iachar(c) 它可將一個字符轉(zhuǎn)換為整數(shù)
trim(string) 它返回去掉尾隨空格的字符串。
scan(string, chars) 它會搜索“string”由左到右(除非back=.true)包含在“string”任何字符的第一次出現(xiàn)。它返回一個整數(shù),該字符,或零的位置,如果沒有文字的“字符”已被找到。
verify(string, chars) 它掃描“string”由左到右(除非back=.true)不包含在“string”任何字符的第一次出現(xiàn)。它返回一個整數(shù),該字符的位置,如果只在“字符”的字符被找到,或者沒有找則返回零。
adjustl(string) 它留下左截于“string”包含的字符
adjustr(string) 它留下右截于“string”包含的字符
len_trim(string) 它返回一個整數(shù)等于“string”(len(string))減去尾隨空白的數(shù)量
repeat(string,ncopy) 它返回一個字符串長度等于“ncopy”次數(shù)“string”的長度,并含有“string”的“ncopy”串聯(lián)拷貝

實例 1

這個例子顯示使用index函數(shù):

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

當(dāng)編譯并執(zhí)行上述程序,將產(chǎn)生以下結(jié)果:

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

示例 2

這個例子演示了如何使用trim函數(shù):

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',