字符串讲义

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

字符串

一、复习字符型:

1、类型:char(有序型)

2、定义:var a,b:char;

3、占用空间:每个变量占用1个字节。每个变量只能存放一个字符。

4、每个字符都有唯一对应的ASCII码。

0-9 A-Z a-z

48-57 65-90 97-120

5、相关函数:

(1)Chr(i) 求ASCII码为i的字符

(2)Ord(a) 求字符的ASCII玛

(3)Pred(a) 求字符的前趋字符

(4)Succ(a) 求字符的后继字符

二、字符串类型

1、类型名:sting(有序型)

2、定义:var s,st:string;

Var s:string[20];

3、占用空间:默认256字节,即最大串长256。

4、引用方法:

(1)整体引用:

Var s,s1:string;

Read(s); (整个输入行都将被作为一个串读入,包括空格)

Readln(s);

Write(s);

S1:=s;

S:=’abcdefg’;

(2)下标引用:

S:=’abcdefg’;

S[2]:=’B’;

Write(s); aBcdefg

Write(s[4]); d

S1[1]:=s[1];

S1[2]:=s[3];

Write(s1); ac

(注意:下标引用时,每个元素等同于一个字符型变量)

5、字符串运算:

a)布尔运算:比较字符串大小,按从前到后的顺序逐个比较字符串的

ASCII码,直到比出大小时停止。(与串长无关)

如:’a’>’bcdefg’, ‘abcdefg’>’abcdef’

b)加法运算(字符串连接):将+号后面的串连接在+号前面的

串的后面。(注意:不遵守加法交换率)

如:’abcd’+’efg’=’abcdefg’, ‘efg’+’abcd’=’efgabcd’

6、相关函数和过程:

1、测字符串长度(Length)函数:测字符串的字符个数。

Var s:string;

I:integer;

Begin

S:=’abcdefg’;

I:=length(s);

Write(i);

End. 输出结果:7

2、查找子串位置(pos)函数:找出子串在母串中出现的第一个字符位

置,如果出现多次,只找出第一次出现的位置。

Var s,s1,s2:string;

I,i1,i2:integer;

Ss:char;

Begin

S:=’abcdefg’;

S1:=’def’;

S2:=’1234’;

Ss:=’c’;

I:=pos(s1,s); i=4

I1:=pos(s2,s); i=0

I2:=pos(ss,s); i=3

End;

3、复制子串(copy)函数:复制母串中指定位置的子串。

Var s,s1:string;

Begin

S:=abcdefg’;

S1:=copy(s,3,3);

Write(s1);

End. 输出:cde

4、插入子串(insert)过程:

语法:insert(s1,s,n);将子串S1插入到串S的第N个位置

例如:

Var s,s1:string;

Begin

S:=’abefg’;

S1:=’cd’;

Insert(s1,s,3);

Write(s);

End. 输出:abcdefg

5、删除子串(delete)过程:

语法:delete(s,n,m);将串S的第N个字符开始的M个字符删除

例如:

Var s:string;

Begin

S:=’abcdefg’;

Delete(s,2,4);

Write(s);

End. 输出:afg

6、数转串(str)过程:

语法:str(I,s); 将数值变量I的值转换成字符串并保存在S中。

例如:

Var s,s1,s2:string;

I:integer;

M:real;

Begin

I:=1234;

M:=1.5;

Str(I,s);

Writeln(s);

Str(m,s1); 输出:1234

Writeln(s1); 输出:1.500000000000000E+000

Str(m:3:1,s2); 输出:1.5

Writeln(s2);

End.

7、串转数(val)过程:

语法:val(s,n,code); 将字符串S转换成数值并保存在变量n中。

Code是标志变量(整型),如果转换成功,code=0,否则,code

的值等于转换不成功的第一个字符所在位置。

例如:

Var s,s1,s2,:string;

I:code:integer;

M:real;

Begin

S:=’1234’;

S1:=’1234+5678’;

S2:=’12.34’;

Val(s,I,code);

Writeln(I); 输出:1234

Writeln(code); 输出:0

Val(s1,I,code);

Writeln(i); 输出:0

Writeln(code); 输出:5

Val(s2,m,code);

Writeln(m); 输出:1.234000000000000E+001

Writeln(code); 输出:0

相关文档
最新文档