资源描述:
《Fortran第8章.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、VisualFortran90程序设计8.1字符型数据8.2字符型数据的运算8.3字符字串8.4字符型数据的应用举例8.1字符型数据8.1.1字符型常量说明(1)字符区分字母大小写(2)空格为有效字符(3)字符不受fortran90字符集的限制(4)单撇号为有效字符时,如起止界为单撇号,则改写为两个单撇号;或起止界用双撇号(5)长度>=0长度为0:由两个连续的撇号表示''或""写法:‘一串字符’或“一串字符”长度为字符的个数(字节数):起止界不算两个单撇号或双撇号算一个空格为有效字符算一个一个汉字占两个字节长度计算8.1
2、.2字符型变量(1)字符变量的含义:对应内存一片连续的存储空间(2)字符变量应先说明其类型、长度、名字,再使用说明语句的写法比其它变量多长度说明Character([len=]长度)[,属性列表]::变量名[=初值]例:Character(len=8)::Var,AuCharacter(8)::Var,Au个别优于统一,(只能用*长度)Len=可省略以下说明等价:Character(len=7)::A或Character(7)::A或character*7::A变量后指明其具体长度(个别说明):CHARACTER(8):
3、:strg,strh,stri*12不说明长度,长度默认为1character::a,b,c长度可为整型表达式,但要加括号例:character(2)::a,b*(2+3)有时可把长度值写成一个星号,但要加括号Character(*)::CH,PARACharacter(2)::CH,PARA*(*)使用范围:(1)具有PARAMETER属性的字符型符号常量Character(*),parameter::para=‘FORTRAN_90’字符串长度取对应的字符常量的长度。(2)用字符变量作为虚元时,虚元的长度取对应实元的
4、长度虚元可以和任意长度的实元相结合,有利于提高子程序的通用性。字符型数组如果具有Dimension属性,就成为字符数组变量。例:character(3),dimension(4)::a,b*6a的每个元素的长度均为3b的每个元素的长度均为68.3字符子串子串变量:一个字符变量值中连续的一部分称为字符子串。例:已知A=‘123456’则‘123’,‘456’是A的子串子串变量的写法字符变量名(e1:e2)其中:不可省略e1和e2为整型表达式,表示起始和终止位置且1<=e1<=e2<=长度L。如e2>e1,则为空串。例:子串
5、变量写法A(1:3)‘123’A(4:5)‘45’A(3:3)‘3’A(:4)‘1234’A(4:)‘456’A(:)‘123456’例8-9阅读下面程序,写出程序运行结果PROGRAMEXAM9IMPLICITNONECHARACTER(LEN=5),DIMENSION(4)::AA=(/'12345','ABCDE','56789','EFGHK'/)PRINT*,A(1:4:2)(2:3)END23678.1-8.2字符表达式与字符赋值语句8.2字符表达式用字符运算符把字符常数、字符变量、字符数组元素等字符型数据连
6、接起来的有意义的式子。8.2字符运算符1、字符连接符“//”功能:将两个字符型数据按顺序首尾连接起来,成为一个新的字符型数据。例:‘abc’//’def’得‘abcdef’注意:不满足交换律2、关系运算(比较运算):例:‘abc’<‘ada’比较规则:1.两个字符比较时,以它们的ASCII码值决定大小。2.字符串比较:从左到右逐个字符进行比较若所有字符完全相同,则表达式相等,否则,以第一次出现不等字符的比较结果为准。3.若两个字符串中字符个数不等时,则将较短的字符串后补足空格后再比较。ASCII顺序:空格0~9,A~Z,
7、a~z3248~5765~9097~1228.1.3字符型赋值语句(1)写法:字符变量或子串变量V=字符型表达式e功能:计算e;转化为V的长度;赋值例:character::LONG*8,SHORT*3LONG=‘ABCD’;SHORT=‘ABCDEF’LONG:SHORT:ABCABCD长:截取左边短:右补空格(一左一右)LONG(1:2)=‘SS’子串赋值不影响其它子串的值注:同一变量名出现在赋值号两侧,有警告错误,但仍可执行。错例:NAME=NAME//‘SUN’8.1.4字符型数据的输入与输出表控格式输入例如:C
8、HARACTER(5)::A,B,CRead*,A,B,C输入:‘CHINA’,‘NEW’,‘SHANGHAI’结果:A值CHINA;B值NEW;C值SHANG注意(1):长度转换同赋值长:截取左边短:右补空格(2):表控格式输入字符型数据时必须输入用单撇号或双撇号做定界符的字符串。各常量之间应用逗号分隔。用户规定格