字符型变量 var ch:char; 占一个字节,只能存放一个字符。
ch:='A';
字符数组:可以存放所需数目的字符。
var charr:array[1..100000]of char;
不能整体读入和输出,只能按字符输入和输出。
读入(输出)时
for i:=1 to 100 do read(charr[i]); (或write(charr[i])
字符串:
字符串用于存放整批的字符数据。通常编程中使用字符串存放字符化了的数字数据。如高精度运算时存放操作数和运算结果。字符串可以看作是特殊的字符串数组来处理。当然,它也有自已的特点。
下面是字符串定义的格式:
var s:string; s1:string[15];
字符串定义时,如不指定长度,则按该类型的最大长度(255个字符)分配空间,使用时最大可用长度为255个;如果在中括号中给出一个具体的值(1~255之间),则按这个值的大小分配空间。使用时,最大的可用长度即为该值。
1、字符串的输入、输出:
字符串类型既可按数组方式输入、输出,也可直接输入、输出:
readln(s);writeln(s);
多个字符串输入时以回车作为数据间的分隔符;
每个readln语句只能读入一个字符串。
2、有关字符串的操作:
操作 类型 作用 返回值 例子 length(s) 函数 求字符串 s的长度 整型 s:='123456789'; l:=length(s);{l 的值为 9} 字符串的长度存放在 s[0]中, ord(s[0])的值与 length(s)的值相同。
copy(s,w,k) 函数 复制 s中 从 w开始 的 k位
字符串 s:='123456789'; s1:=copy(s,3,5);{s1 的值是 '34567'}
val(s,k,code) 过程 将字符串 s转为数值,存在 k 中; code是错误代码
设 var s:string; k,code:integer;
例
s:='1234'; val(s,k,code);
write(k);{k=1234}
str(i,s) 过程 将数值 i 转为字符串 s
i:=1234; str(i,s); write(s);{s='1234'}
Delete(s,w,k) 过程 在 s中删除从第 w 位开始的 k个字符
s := 'Honest Abe Lincoln'; Delete(s,8,4); Writeln(s); { 'Honest Lincoln' } Insert(s1, S, w) 过程P> 将 s1插到 s中第 w位
S := 'Honest Lincoln'; Insert('Abe ', S, 7); { 'Honest Abe Lincoln' }
Pos(c, S) 函数 求字符 c
在 s中的位置 整型
S:=' 123.5';
i:=Pos(' ', S);{i 的值为 1}
+ 运算符 将两个字符串连接起来
s1:='1234';
s2:='5678';
s:=s1+s2;{'12345678'}