- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十讲、字符与字符串
【例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; read(ch);
您可能关注的文档
- 第十四章 组合变形的强度计算.ppt
- 第十四章__几何光学.ppt
- 第十四讲 线性空间的同构 商空间 总结.ppt
- 第十四课 矩阵的特征值与特征向量.ppt
- 第十章 重积分 例题.ppt.ppt
- 第十章 橡胶配方设计的试验设计方法.ppt
- 第十章 地下洞室围岩稳定性的工程.ppt
- 第十章 曲线积分与曲面积分习题课.ppt
- 第十章 标高投2.ppt
- 第十章 4三重积分及其计算.ppt
- 2025AACR十大热门靶点推荐和解读报告52页.docx
- 财务部管理报表.xlsx
- 高中物理新人教版选修3-1课件第二章恒定电流第7节闭合电路欧姆定律.ppt
- 第三单元知识梳理(课件)-三年级语文下册单元复习(部编版).pptx
- 俄罗斯知识点训练课件-七年级地理下学期人教版(2024).pptx
- 课外古诗词诵读龟虽寿-八年级语文上学期课内课件(统编版).pptx
- 高三语文二轮复习课件第七部分实用类文本阅读7.2.1.ppt
- 高考物理人教版一轮复习课件第4章第3讲圆周运动.ppt
- 高考英语一轮复习课件53Lifeinthefuture.ppt
- 2025-2030衣柜行业风险投资发展分析及投资融资策略研究报告.docx
文档评论(0)