- 2
- 0
- 约5.24千字
- 约 32页
- 2017-08-06 发布于河南
- 举报
第十讲、字符和字符串
第十讲 字符与字符串; 字符型用char作为标识符。字符型必须用单引号括起来,字母作为字符型时,大小写是不等价的,并且字符型只允许单引号中有一个字符,否则就是字符串。;知识点:
1、字符的ASCII码(序号):一一对应关系;2、函数:ord(x) 、 chr(x) 、succ(x)、pred(x)、
1)、ord(x):返回字符x的ASCII码。
i:=ord(‘A’); j:=ord(‘B’);n:=ord(‘1’); write(I,j,n); 65 66 49
2)、 chr(x):返回ASCII码为x的字符。
var a:char;
a:=chr(98); writeln(a);
write(chr(97)); ;3、字符大小的比较(相应字符ASCII码大小的比较):
ASCII码大的字符大。
‘b’’a’ ‘5’’1’ ‘a’’A’;;练习题目:
从键盘上输入一串字符(可能含数字、小写字母),以#作为输入结束标志。
编程完成:
统计输入字符中每个小写字母出现的次数(没有出现的不输出)。
样例:
输入:
2bcdaab33wycc#
输出:
a 2
b 2
c 3
d 1
w 1
y 1 ;算法一:;var ch:char;
n,i:integer;
a:array[97..122] of integer; {统计字母出现的次数}
begin
for i:=97 to 122 do a[i]:=0;
read(ch);
while ch# do
begin
if(ch=a)and(ch=z) then a[ord(ch)]:=a[ord(ch)]+1;
read(ch);
end;
for i:=97 to 122 do {输出字符及出现的次数}
if a[i]0 then writeln(chr(i), ,a[i]);
end.;算法三:;字符串用于存放批量字符的一串字符。
Var:a:string;
或Var:a:string[n];
A:=‘hello’
其中正整数n(1=n=255)表示构成字符串的字符最多个数。
若字符串说明中没有指定长度,缺省值为255。
Freepascal中新增加的字符串类型:
ansistring;默认长度可达2562 -1=65535
Var St:ansistring;;字符串类型定义:
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;;操作 ;字符串使用中的有关说明和注意事项:
1、字符串的输入和输出:
输入:字符串是以回车作为的结束标志.所以输入必须readln(s);每个readln语句只能读入一个字符串。不能readln(s1,s2);
输出:writeln(s);
2、字符串可以和数组一样操作:
a:=’nabcdeg’; 则:a[1]:=‘n’;a[3]:=b; 输出:writeln(a); 或:for i:=1 to length(a) do write(a[i]);
3、从键盘只能接受127个字符;一般都是文件输入。
4、严格区分数字字符、数字字符串与数值的区别,但可以相互转化。
‘4’4 ‘1326’1326 如:var a:char; i:integer; a:=‘4’;i:=ord(a)-48; writeln(i); {i=4};5、字符串大小的比较。
‘123’=‘123’
‘12345’’12325’
原创力文档

文档评论(0)