1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FORTRAN章 8

Visual Fortran 90 程序设计;8.1 字符型数据基础;长度为字符的个数: 起止界不算 两个单撇号或双撇号算一个 空格为有效字符算一个;说明语句的写法;长度可为整型表达式,但要加括号 例: character(2)::a,b*(2+3) 有时可把长度值写成一个星号,但要加括号 Character(*)::CH,PARA Character(2):: CH,PARA*(*) 使用范围: (1)具有PARAMETER属性的字符常量 Character(*),parameter::para=‘FORTRAN_90’ 字符串长度取对应的字符常量的长度。 (2)用字符变量作为虚元时,虚元的长度取对应实元的长度 虚元可以和任意长度的实元相结合,有利于提高子程序的通用性。 ;8.1.2 字符子串;8.1.3 字符表达式与字符赋值语句;2、关系运算: 例:‘abc’‘ada’;字符型赋值语句;8.2 字符型数据的输入与输出;用户规定格式输入;例: Character(3)::a,b,c Read(*,fmt=‘(a3,a2,a4)’)a,b,c 如输入’123’,’1234’,’ 123’ 则a值’12 B值3’ C值’12;表控格式输出语句: CHARACTER(3)::A,B …… PRINT*,A,B;8.3 字符型数组;8.4 用于字符处理的内在函数;;例8-4 用自定格式输入和输出字符型数据。(掌握数据输入格式) 如输入:FORTRAN;例8-5 从键盘上输入5个城市的名称(用汉语拼音表示),然后按从小到大的顺序排序。(排序算法同数值型) 输入:’Harbin’,’Shanghai’,’Anda’,’Beijing’,’Daqing’;习题8-3(1)输出*号图形 算法:引入LINE存放每一行的数据(长度为图形的第一列到最右) LINE子串赋值 输出LINE LINE回归为空串 ;8.5.1 字符型数据作为函数过程变元 1.字符型变量作为虚元: 对应的实元必须是字符型变量、字符型数组元素、字符串常量或字符表达式等。 虚元必须在该子程序中说明其类型。 可采用固定长度,长度说明也可采用(*)。 例8-7 编写函数子程序,实现字符内在函数LEN_TRIM的功能。在主程序中输入一个字符串,对去掉尾部空格部分的字符子串中的字符逆序存放后输出。 输入:Good morning! (1)去尾部空格算法:从右往左顺序查找非空格字符 (2)逆序算法:交换首尾对应元素 ;FUNCTION LENTRIM(STRING)RESULT(LENTRIM_RESULT) IMPLICIT NONE CHARACTER(LEN=*),INTENT(IN)::STRING INTEGER::LENTRIM_RESULT,I LENTRIM_RESULT=0 DO I=LEN(STRING),1,-1 IF(STRING(I:I)/=’ ’)THEN LENTRIM_RESULT=I EXIT ENDIF ENDDO; END ;PROGRAM CHAR_INVERSE IMPLICIT NONE CHARACTER(20)::STRING1,C*1 INTEGER::I,K,LENTRIM READ’(A)’,STRING1 K=LENTRIM(STRING1) DO I=1,K/2 C=STRING1(I:I) STRING1(I:I)= STRING1(K-I+1:K-I+1) STRING1(K-I+1:K-I+1)=C ENDDO; PRINT*,STRING1; END ;2.字符型数组作为虚元 虚元是字符型数组时,对应的实元必须是字符型数组、数组元素或字符型数组元素的片段等。 若长度不一致时,则虚实数组的元素间并不是一一对应结合。而是按字符进行一个一个字符地相结合。 例如虚元a,长度为3,实元b长度为5,a,b虚实结合规则为: FUNCTION F(A)RESULT(F—RESULT) CHARACTER(3),DIMENSION(4)::A 主程序调用语句:K=F(B); CHARACTER(5),DIMENSION(4)::B;8.6 程序举例;例: 验证一字符串是否为“回文”。 算法: 去尾部空格 首尾对应字符比较 ;DO I=1,J/2 IF(LINE(I:I)/=LINE(J-I+1:J-I+1))THEN

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档