软件技术基础11大为第.pdf

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

182****0328 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档