pascal-字符与字符串处理.doc
文本预览下载声明
第十课 字符与字符串处理
(一)字符类型 字符类型为由一个字符组成的字符常量或字符变量 。 字符常量定义: const =字符:Ⅱ Var 字符变量:char; 字符类型是一个有序类型, 字符的大小顺序按其ASCⅡ代码的大小而定。函数succ、pred、ord适用于字符类型。succ(a)=b 前继函数:pred(B)=Aord(A)=65‘a’)=97 ord(‘0’)=48 例1 按字母表顺序和逆序每隔一个字母打印。即打印出: a c e g I k m o q s u w y z x r v t p n l j h f d b 程序如下: program ex8_1; var letter:char; begin for letter:=a to z do if (ord(letter)-ord(a))mod 2=0 then write(letter:3); writeln; for letter:=z downto a do if (ord(letter)-ord(z))mod 2 =0 then write(letter:3); writeln; end. 分析:程序中,我们利用了字符类型是顺序类型这一特性,直接将字符类型变量作为循环变量,使程序处理起来比较直观。 (二)字符串类型 字符串是由字符组成的有穷序列。 字符串类型定义: type 字符串类型标识符=string[n]; var 字符串变量: 字符串类型标识符; 其中:n是定义的字符串长度,必须是0~255之间的自然整数,第0号单元中存放串的实际长度,程序运行时由系统自动提供,第1~n号单元中存放串的字符。若将string[n]写成string,则默认n值为255。type man=string[8];line=string;var name:man;screenline:line; 例如:VAR name:STRING[8];screenline:STRING;Turbo Pascal中,一个字符串中的字符可以通过其对应的下标灵活使用。var name:string;begin readln(nsme);for i:=1 to ord(name[0])dowriteln(name[i]);end. 语句writeln(name[i])输出name串中第i个字符。2 求输入英文句子单词的平均长度. 程序如下: program ex8_2; var ch:string; s,count,j:integer; begin write(The sentence is :); readln(ch); s:=0; count:=0; j:=0; repeat inc(j); if not (ch[j] in [:,,,;,,!,?,., ]) then inc(s); if ch[j] in[ ,.,!,?] then inc(count); until (j=ord(ch[0])) or (ch[j] in [.,!,?]);if ch[j]. then writeln(It is not a sentence.) else writeln(Average length is ,s/count:10:4); end. 分析:程序中,变量s用于存句子中英文字母的总数,变量count用于存放句子中单词的个数,ch[j]表示ch串中的第j个位置上的字符,ord(ch[0])为ch串的串长度。程序充分利用Turbo Pascal允许直接通过字符串下标得到串中的字符这一特点,使程序比较简捷。
(一)字符串的运算和比较 由字符串的常量、变量和运算符组成的表达式称为字符串表达式。 字符串运算符包括: 1.+:连接运算符Turbo +PASCAL的结果是Turbo PASCAL。255,则被截成255个字符。若连接后的字符串存放在定义的字符串变量中,当其长度超过定义的字符串长度时,超过部份字符串被截断。var str1,str2,str3:string[8];begin str1:=Turbo ;str2:=PASCAL;str3:=st
显示全部