- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.1 串及其运算
5.1.1 串的概念
串(String)是由多个或零个字符组成的有限序列,记做S
=c 1c2c3…cn (n≥0) 。其中,S是串名;由双引号括起来的字
符序列称为串值,但双引号本身不属于串;ci(1≤i≤n)是串中字
符,i是字符在串中的位置序号;n是串的长度,表示串中字符
的个数,不包含任何字符的串称为空串,例如 是长度为0的
空串。
串中任意个连续的字符组成的子序列称为该串的子串,包
含子串的串相应地称为主串。子串在主串中的序号定义为子串
在主串中首次出现的位置序号。例如,设S1和S2分别为
S1=“This is a string” S2=“is”
则S2是S1的子串,S1是S2的主串。S2在S1中出现了两次,首
次出现在主串的第3个位置上,因此S2在S1中的序号是3 。
特别需要一提的是,空串是任意串的子串,任意串是其自
身的子串。
通常,串可以分为串变量和串常量。正如 所知道的,
在程序中常量只能被 而不能改变其值,但变量的值可以被
改变。在C++语言中,串变量可以用字符型数组来表示,串常
量可以用双引号括起来的字符序列直接表示或者用符号常量来
表示,例 如下定义:
char str[ ]=string; const char str_const[ ]=string;
str是串变量,而str_const是串符号常量。
5.1.2 串的基本运算
串的基本运算和线性表有很大的差别。线性表的 、删
除等运算都是以 “单个元素”作为操作对象;而对串的运算,
通常是把串作为一个整体进行操作,如串的 、串的比较、
和删除子串等。
很多高级语言都提供了字符串操作的函数库,下面结合串
的基本运算给出C语言有关字符串操作函数的例子。 先定
义几个相关的变量:
char s1[80]=“d:\\user\\wang\\”, s2[40]=“file.txt”, s3[80];
//字符串中含有转义字符 ‘\\ ‘
int result;
说明:字符串从字符数组下标为0的元素开始存放。
(1) StrLen(S)——求串长度,返回字符串长度。
例如:printf(%d,strlen(s1)); //输出13
(2) StrCpy(T, S)—— 串,将源串 给目标串。
例如:strcpy(s3,s1); //s3 的值为d:\\user\\wang\\
(3) StrCmp(S1,S2)——比较串,比较两个串的大小,返回整型值。
0 S1 S2
S1 S2
StrCmp(S1,S2)返回值 = = 0
0 S1 S2
例如:result=strcmp(“good”,“Good”); //result0
result=strcmp(“15”,“15”); //result=0
result=strcmp(“That”,“The”); //result0
(4) StrCat(T,S)—— 串联接,将串S联接到串T 的末尾,返
回指向串S的指针。
例如:printf(“%s”, strcat(s1,s2));
//输出:d:\\user\\wang\\ file.txt
您可能关注的文档
最近下载
- 小学口算教学现状调查与对策探讨.docx
- 国家开放大学计算机应用基础(本) 终结性考试试题及参考答案.pdf
- 译林版英语七年级下单元知识点及语法归纳.doc VIP
- 沈北新区日处理量为35000m3d的市政污水处理厂工程设计.docx
- 2024年淮南省示范高中指标分配表 .pdf VIP
- 2024离婚起诉状 离婚起诉书(标准版).pdf
- 部编版小学语文四年级上册《王戎不取道旁李》教材分析.doc
- 近十年来150起较大及以上安全生产事故案例汇总A.pdf
- 2023年秋学期人教版初中历史九年级上册教学计划附教学进度表.pdf VIP
- 2022年山东开放大学公开招聘工作人员考试试题及答案.pdf VIP
文档评论(0)