第十课 字符与字符串处理 一、字符、字符串类型的使用 (一)字符类型 字符类型为由一个字符组成的字符常量或字符变量 。 字符常量定义: const 字符常量='字符' 字符变量定义:Ⅱ Var 字符变量:char; 字符类型是一个有序类型, 字符的大小顺序按其ASCⅡ代码的大小而定。函数succ、pred、ord适用于字符类型。 例如:后继函数:succ('a')='b' 前继函数:pred('B')='A' 序号函数:ord('A')=65 ord(‘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])do writeln(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...