、字符与字符串.ppt
文本预览下载声明
【例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; * * 第十讲 字符与字符串 王桐林 寿光现代中学 字符型用char作为标识符。字符型必须用单引号括起来,字母作为字符型时,大小写是不等价的,并且字符型只允许单引号中有一个字符,否则就是字符串。 Var 字符变量名:char; 字符类型是一个有序类型,字符的大小顺序按ASCII码的大小决定。 例: Var a:char; a:=‘b’; a:=‘B’; a:=‘2’; 一、字符型 知识点: 1、字符的ASCII码(序号):一一对应关系 56 8 57 55 54 53 52 51 50 49 48 ASCII 9 7 6 5 4 3 2 1 0 字符 90 67 66 65 ASCII Z … … C B A 字符 122 99 98 97 ASCII z … … c b a 字符 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)、后继函数:succ(a)=b 4)、前继函数:pred(B)=A 3、字符大小的比较(相应字符ASCII码大小的比较): ASCII码大的字符大。 ‘b’’a’ ‘5’’1’ ‘a’’A’ 4、数字字符转换为相应的数字的方法。 var x:char; a:integer; x:=‘3’; a:=ord(x)-48; 练习题目: 从键盘上输入一串字符(可能含数字、小写字母),以#作为输入结束标志。 编程完成: 统计输入字符中每个小写字母出现的次数(没有出现的不输出)。 样例: 输入: 2bcdaab33wycc# 输出: a 2 b 2 c 3 d 1 w 1 y 1 算法一: var ch:char; n,i:integer; a:array[1..26] of integer; {统计字母出现的次数} begin for i:=1 to 26 do a[i]:=0; read(ch); while ch# do begin if(ch=a)and(ch=z) then begin i:=ord(ch)-96; a[i]:=a[i]+1; end;
显示全部