已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
7字符数据处理 7 1字符型数据 7 2字符型数据的运算 7 3字符子串 7 4字符型数据的应用举例 一个字符在内存中占一个字节 7 1字符型数据 7 1 1字符型常量字符型常量是用定界符括起来的一串字符 定界符可用单引号或双引号 但前后必须一致 7 1 1字符型常量 字符型符号常量 可用parameter属性给字符串命名 此名称就是字符型符号常量 因为是常量 当然不能在程序中给它赋值 给字符型符号常量时 其长度可用 表示 Character 20 Parameter Addr Hefei Character Parameter Book RedStar 7 1 2字符型变量 字符型变量用于存放字符型常量 必须先定义定义格式Character Len 字符串长度 变量名 变量名 7 1 2字符型变量 Len 可以不写 当长度为1时可以连 也没有 如果变量表中有长度不同于Len 域指定的变量 可以对它进行个别说明 以个别说明为准 Character 20 ch1 ch2 ch3 15 ch4 1 ch5 12Characterc1 c2 c3character 20 s1 s2 s3 3 还可以定义字符型数组character 20 c1 3 c2 5 6 c3 4 5 8character 20 s1 3 t2 5 6 u 4 5 8 7 1 3字符型变量的赋值 格式 字符变量 字符表达式 当字符表达式的长度超过字符变量的长度时字符表达式右边多余字符会丢掉 相反 当字符表达式的长度短于字符变量的长度时则在右边补空格 以字符变量的长度为准 character 20 s1 s2s1 ABCDEFGHHIJKL s2 1224WEFWE 还可以将整型表达式赋给字符变量Character 20 aa 65 256 66 print a End 输出为BA 7 1 4字符型变量的输入与输出 用表控格式输入字符型数据时要带定界符 格式化输入时不要带定界符 用表控格式输出字符型数据时 各字符串依次输出 中间不留空格 如果想要分隔 则应在输出列表中插入选定使用的分隔符 格式化输出是由格式编辑符控制的 7 1 5字符型变量作虚参 字符型变量作过程的虚参时 可定义其为固定长度变量或假定长度变量 一般建议用假定长度变量较好 用固定长度变量时 其实际长度与实参的长度可以相同也可以不同 这可能会导致比较隐蔽的错误 应该引起注意 Character 20 a b ccallsub a b c endSubroutinesub a b c Character 10 a b c 20Endsubroutinesub 7 2 1字符表达式 7 2字符型数据运算 字符型数据的运算符只有字符连接符 一种 也称加法运算 与字符型数据组成字符表达式 将两个字符型数据连接起来 Character 20c a 4 b 5a This b is a c a b test c a 1 3 b 2 c 5 8 OK Print cEND结果为 thiisis aok 7 2 1字符表达式 8 2字符型数据运算 两个形状相同的字符型数组的加法运算是将两个数组的对应元素相加 字符串的连接 得到一个新的数组 例如 Character 3 dimension 2 text 1 abc 123 Character 3 dimension 2 text 2 xyz 456 Print text 1 text 2End结果为 abcxyz123456 7 2 2字符型数据的比较 两个字符串可以比较 也可用六种关系运算符 str GT char1str2 a1st name字符串的比较实际上是比较字符的机内码字符关系运算法则 单个字符比较 代码大者为 大 b a 比较字符串时 如果两个字符串长度不等 则首先用空格把短串尾部补齐 使两字符串等长 从第1个字符开始依次比较每个字符 字符大者其所在字符串为大 所有字符都相等的两个字符串相等 统计字符串长度 LEN S 7 2 3处理字符串的系统函数 给出字符串S2在S1中的位置 INDEX S1 S2 S1 S2为字符串 例 INDEX FORTRAN TRA 函数值是整数值 此处是4 求ASCII码的对应字符 char I I为ASCII例 CHAR 65 函数值是 A 7 2 3处理字符串的系统函数 求字符ASCII码 如果字符型变量CH的值为 A 则ICHAR CH 函数值是65 字符串比较 LGE C1 C2 LGT C1 C2 LLE C1 C2 与LLT C1 C2 FORTRAN90提供的字符串处理函数比较多 实际编程时可参考编辑器的On Line Help系统 字符串中连续之部分称为该字符串的子字符串 例 ORT RANP rog Program 都是字符串 FORTRANProgram 的子字符串 字符串str的子字符串用str s e 表示 s与e为子字符串在原字符串中的起止位置 str 1 5 表示str的第1到第5个字符 s的缺省值是1 e的缺省值是字符串的长度 当s e时 子字符串是空串 7 3字符子串 7 3 1字符子串的定义 7 3 2字符子串的引用 7 3 3字符数组的子串 字符型数组或数组片段的子串是指其每一个数组元素的子串 Character 10 A 6 A 1 1234567890 A 2 abcdefghij Print A 1 2 3 5 END结果为 345cde 可以将一个子串赋给另一个子串 例如 Chrracterstr 20Str 1234567890abcdefghij Str 4 6 str 11 12 Print strEnd结果为 123ab 7890abcdefghij Character 80 A Integerm nReal PI 3 14159265 DX XDX pi 0 05 X 0 m int pi dx 0 5 dx 1DoL 1 Mwrite a 1X F4 2 Xn int 25 sin x 40a 40 40 a n n S n int 25 cos x 40 a n n c print A a x x dxEnddo End 7 4字符型数据的应用举例 例 用字符串方式输出sin x 与cos x 的图像 Character LEN 80 A c 1Integers eread A Ae LEN A s 1dowhile s e c A S S A S S A E E A E E ce e 1 s s 1enddoprint 1X A aEnd 例 字符串的逆序串 例 输入50个单词 把以字母A开头的打印出来 Character 15wordDoI 1 50Read wordIf index word A 1 PRINT WORDENDDOEND上式中index word A 1可改为 word 1 1 A 例 打印下列图形 要求中间一列在30列输出 上半部 四行 的图形可用下列程序段实现DoI 1 4Line K 2 I 1DoJ 1 kline 30 j I 30 j I EnddoPrint lineEnddo 下半部 三行 的图形可用下列程序段实现DoI 3 1 1Line K 2 I 1DoJ 1 kline 30 j I 30 j I enddoPrint lineEnddo 程序为 Character 50line上半部程序段下半部程序段end 例 输入一段文字 找出包含多少个空格 然后将空格删除 1 下列子程序是求删除一字符串所有空格后的字符串及其长度 SUBROUTINESUB STR L CHARACTER STRintegerpL LEN TRIM STR p 1dowhile p L if str p p thenp p 1elsestr p L 1 STR P 1 L L L 1ENDIFENDDOENDSUBROUTINESUB 2 主程序为 CHARACTER 80lineInteger m n 0Read kDoI 1 kRead lineCallsub line m Print line 1 m N n 80 m Enddoend 例 输入十个姓名 要求按字母顺序输出 程序为 Parameter n 10 Character 15a n chRead aDoI 1 n 1P Idoj I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论