- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 串 第四章 串 4.1 串类型的定义 4.2 串的表示和实现 4.3 串的模式匹配算法 4.4 串操作应用举例—文本编辑 4.1 串类型的定义 基本概念 串(String)是由零个或多个字符组成的有限序列。一般记作S=‘a1a2a3…an’,其中S 是串名,单引号括起来的字符序列是串值;ai(1≦i≦n)可以是字母、数字或其它字符;串中所包含的字符个数称为该串的长度。 空串(Empty String):长度为零的串。它不包含任何字符。 空格串(Blank String): 由一个或多个空格组成的串。 注意:空串和空格串的不同。 基本概念(续) 子串:串中任意个连续字符组成的子序列。 主串:包含子串的串。通常将子串在主串中首次出现时的该子串的首字符对应的主串中的序号,定义为子串在主串中的序号(或位置)。例如,设A和B分别为 A=“This is a string” B=“is” 则B是A的子串,A为主串。B在A中出现了两次,其中首次出现所对应的主串位置是3。因此,称B在A中的序号(或位置)为3。特别地,空串是任意串的子串,任意串是其自身的子串。 基本概念(续) 通常在程序中使用的串可分为两种:串变量和串常量。串常量和整常数、实常数一样,在程序中只能被引用但不能不能改变其值,即只能读不能写。通常串常量是由直接量来表示的,例如语句Error(“overflow”)中“overflow”是直接量。但有的语言允许对串常量命名,以使程序易读、易写。如C++中,可定义 const char path[]=“dir/bin/appl”; 这里path是一个串常量,对它只能读不能写。串变量和其它类型的变量一样,其取值是可以改变的。 串的抽象数据类型定义 串的抽象数据类型定义见教材P71 串的基本操作(13个):StrAssign, Strcopy, StrEmpty, StrCompare, StrLength, ClearString, Concat, SubString, Index, Replace, StrInsert, StrDelete, DestroyString 许多高级语言均提供了串基本操作相应的运算或标准库函数来实现。下面仅介绍几种在C语言中常用的串运算,其它的串操作见教材及参考书。 串变量及基本操作: char s1[20]=“dirtreeformat”,s2[20]=“file.mem”; char s3[30],*p; int result; (1)求串长(length) int strlen(char s); //求串的长度 基本操作(续) (2)串复制(copy) char *strcopy(char to,char from); 该函数将串from复制到串to中,并且返回一个指向串to的开始处的指针。 例如:strcopy(s3,s1); //s3=“dirtreeformat” (3)联接(concatenation) char concat(char to,char from) 该函数将串from复制到串to的末尾,并且返回一个指向串to的开始处的指针。 基本操作(续) 例如:concat(s3,”/”) concat(s3,s2); //s3=“dirtreeformat/file.mem” (4)串比较(compare) int strcompare(chars1,char s2); 该函数比较串s1和串s2的大小,当返回值小于0,等于0或大于0时分别表示s1s2、s1=s2或s1s2 例如: result= strcompare (“baker”,”Baker”); result0 result= strcompare (“12”,”12”); result=0 result= strcompare (“Joe”,”Joseph”); result0 基本操作(续) (5)字符定位(index) char strchr(char s,char c); 该函数是找c在字符串中第一次出现的位置,若找到则返回该位置,否则返回NULL。 例如:p=strchr(s2,”.”); p 指向“file”之后的位置
您可能关注的文档
- 沈阳农业大学信息与电气工程学院高级语言程序设计(Visual Basic)课件 第4章.ppt
- 沈阳农业大学信息与电气工程学院高级语言程序设计(Visual Basic)课件 第5章.ppt
- 沈阳农业大学信息与电气工程学院高级语言程序设计(Visual Basic)课件 第6章.ppt
- 沈阳农业大学信息与电气工程学院高级语言程序设计(Visual Basic)课件 第7章.ppt
- 沈阳农业大学信息与电气工程学院高级语言程序设计(Visual Basic)课件 第8章.ppt
- 沈阳农业大学信息与电气工程学院高级语言程序设计(Visual Basic)课件 第9章.ppt
- 沈阳农业大学信息与电气工程学院高级语言程序设计(Visual Basic)课件 第10章.ppt
- 沈阳农业大学信息与电气工程学院高级语言程序设计(Visual Basic)课件 第11章.ppt
- 沈阳农业大学信息与电气工程学院高级语言程序设计(Visual Basic)课件 第12章.ppt
- 沈阳农业大学信息与电气工程学院软件工程课件 第八章.ppt
最近下载
- 年会语言类节目搞笑朗诵《我爱上班》表演.pptx
- 《马克思主义基本原理概论》教案12 资本主义的本质及规律.doc VIP
- 55种语言汉译译音表-世界人名翻译大辞典.pdf
- 我们的母亲叫中国:.pptx VIP
- 1.6+隋唐时期的中外文化交流++课件++2024-2025学年统编版七年级历史下册+.pptx VIP
- 水稻绿色高产高效创建服务 投标方案(技术方案).docx
- 医用氧自检检查记录表.pdf
- 2024辽宁沈阳市文体旅产业发展集团有限公司中层岗位招聘5人笔试备考试题及答案解析.docx
- 《国际经济法学》(第二版)课后思考题答案.pdf
- 55个单病种(术种)管理指标质量控制标准(第二部分).xlsx
文档评论(0)