欢迎来到天天文库
浏览记录
ID:45032350
大小:1.12 MB
页数:62页
时间:2019-11-08
《ASCAL数据结构之串》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、串濮阳市第一高级中学王晓斌2011.10.05字符变量定义Varx:char;字符类型是一个有序类型,字符的大小顺序按ASCII码的大小决定。相关的函数有succ、pred、ord、chr字符Ord(x)对于字符来说是求字符对应的序号就是ascii码Chr(x)求ascii码对应字符ASCII编码是由美国国家标准委员会制定的一种包括数字、字母、通用符号和控制符号在内的字符编码集,全称叫美国国家信息交换标准代码回顾知识点字符类型的概念回顾字符是一个有序类型,字符的大小顺序按其ASCⅡ代码的大小而定。函数succ、pred、ord适用于
2、字符类型。例如:后继函数:succ('a')='b' 前继函数:pred('B')='A' 序号函数:ord('A')=65字符函数:chr(65)=‘A’注意:‘A’~’Z’的ASCII码是连续的;‘a’~’z’的ASCII码是连续的;字符型数据可以是字母、符号、数字(0-9)等ASCII码的所有字符。Pascal支持扩展ASCII码,共包括256个字符。但非印刷字符是不能在标准显示上显示或打印输出。在计算机内部,字符集的元素是以该元素在字符集内的顺序位置来标记的,位置取值范围为0~255,我们称这些整数为字符在字符
3、集内的序数值或序号。每个字符型数据在内存中占一个字节。将字符用单引号括起来,即成字符常数,如,’X’,’7’,’?’。字符常数可按字符的序数值确定大小关系,也就是说它们的大小由它们所对应的ASCII码值决定,如:’A’<’a’。由于采用ASCII码,字符依ASCII码序号排列。这样,字符与ASCII码序号有一一对应的映射关系。ord(1=1)=1{true}ord(1=5)=0{false}Ord(X)函数返回顺序(离散)类型的序号整型、字符型、布尔型、子界型、枚举型整型返回本身字符型返回对应的ASCII(美国国家标准交换码)序数值
4、布尔型假为0、真为1最后两种返回自变量在集中的序号‘0’------48‘A’-----65‘a’-----97将数字8转换为一个字符“8”的表达式为()A.chr(8)B.ord(‘8’)-ord(‘0’)C.chr(8+ord(‘0’))D.chr(ord(8))chr 自变量对应的字符 字符型ord 自变量对应的序号 longint例:chr(66)='B' ord('A')=65Ord(’8’)<>8,正确的是:Ord(’8’)=Ord(’0’)+8=48+8=56若ch是数字字符,则Ord(ch)-O
5、rd(‘0’)是该数字字符的数值。例如:Ord(’8’)-Ord(’0’)=8题一对于字符,就是对应的字符与序号之间的关系例题一将任一大写字母,转换成小写字母。【问题分析】假设变量是x为一大写字母,我们仔细观察ASCII码表发现小写字母与大写字母之间的差为一定值,因同一个字母的大写和小写ASCⅡ码相差32,因此,我们只要将大写字母的ASCII值加上小写与大写字母之差,即可得到该字母的小写字母的ASCII值:chr(ord(x)+32)Programp6;Varx,y:char;beginreadln(x);y:=chr(ord(x)
6、+32);writeln(y);end.题二按字母表顺序和逆序每隔一个字母打印。即打印出: acegIkmoqsuwy zxrvtpnljhfdb程序如下:programex8_1; varch:char; beginforch:=‘a’to‘z’do if(ord(ch)-ord(‘a’))mod2=0thenwrite(ch:3);writeln;forch:=‘z’downto‘a’do if(ord(ch)-ord(‘z’))mod2=0thenwrite(ch:3);write
7、ln; end.分析:程序中,我们利用了字符类型是顺序类型这一特性,直接将字符类型变量作为循环变量,使程序处理起来比较直观。题三:输入一串字符,字符个数不超过100,且以“.”结束。判断它们是否构成回文。分析:回文指从左到右和从右到左读一串字符的值是一样的,如12321,ABCBA,AA等。先读入要判断的一串字符,放入数组中,并记住这串字符的长度,然后首尾字符比较,并不断向中间靠拢,就可判断出是否为回文。varletter:array[1..100]ofchar;i,j:0..100;ch:char;beginread(ch);
8、 i:=0;whilech<>'.'do{读入一个字符串以'.'号结束}begin i:=i+1;letter[i]:=ch;read(ch) end;j:=1;while(j
此文档下载收益归作者所有