第6章 字符串及其应用.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
字符串的常用处理方法及标准库函数 字符的删除 理解标准库函数参数意义 在对字符串的处理过程中,一个被处理字符串并不一定要从字符数组的首字符开始,它的本质是从某一地址开始直到遇到了系统规定的字符串结尾字符‘\0’为止,因而可以从字符串的任一位置开始处理字符串。 字符删除函数的改进 void deletechr(char *s1,char c) { char *p; p=strchr(s1,c); if(p!=NULL) strcpy(p,p+1); /*注意与原函数代码比较*/ else printf(%c is not in %s.\n,c,s1); } 字符串的常用处理方法及标准库函数 字符串的比较 基本思想 从参与比较操作的两个字符串的第一个字符开始依次比较相同位置的两个对应字符,在下列两种情况之下结束比较过程:①两个字符串中对应位置字符的ASCII码不相同;②遇到两字符串中任何一个字符串的串结尾字符’\0’。比较结束时,通过求取该时刻两个字符串对应位置字符的差值来确定两个字符串之间的关系。 字符串比较的判断规则 设参与比较的字符串为s1和s2,则两个字符串比较的规则如下: 例6-20 函数的原型为:int strcompare(char s[], char t[]);,其功能是比较两个字符串s和t的关系,比较规则如上所示,请编制函数strcompare并用相应主函数进行测试。 字符串的常用处理方法及标准库函数 字符串的比较 字符串比较标准库函数strcmp 函数原型 int strcmp(const char *s1, const char *s2); 函数功能:比较两个字符串s1和s2的关系,返回值确定规则为:如果s1大于s2,则返回值大于0;如果s1等于s2,返回值等于0;如果s1小于s2,返回值小于0。 字符串比较注意点 由于字符串本质上是字符数组,不能直接作为整体进行操作,所以不能用类似if(s1s2)的方式直接对字符串s1和s2进行比较,而应该使用串比较函数。 例6-21 使用标准库函数比较两个字符串。 字符串的常用处理方法及标准库函数 有长度限制的字符串比较 基本思想 比较两个字符串前n个字符关系的与比较两个字符串关系的基本思想完全一致,判断比较结果的规则也相同,所不同的是多了一个比较的长度限制。 两个字符串前n个字符比较函数 int strncompare(char s[],char t[],int n) { int i; for(i=0;s[i]==t[i];i++) if(s[i]==\0||--n=0) return 0; return s[i]-t[i]; } 例6-22 函数的原型为:int strncompare (char s[], char t[], int n);,其功能是比较两个字符串s和t前n个字符构成的字符串的关系,比较规则如下所示,请编制函数strncompare并用相应主函数进行测试。 字符串的常用处理方法及标准库函数 有长度限制的字符串比较 字符串比较标准库函数strncmp 函数原型 int strncmp(const char *s1,const char *s2,size_t maxlen); 函数功能:比较连个字符串s1和s2 中至多前maxlen个字符的关系,返回值确定规则为:如果s1大于s2,则返回值大于0;如果s1等于s2,返回值等于0;如果s1小于s2,返回值小于0。 例6-23 使用标准库函数比较两个字符串前n个字符。 字符串的常用处理方法及标准库函数 字符串中子串的查找 基本思想 首先在主串中查找子串的首字符,如果找到则比较其后连续的若干个字符是否与参与比较的子串相同。如果相同则返回子串首字符在主串中出现的地址;否则在主串中向后继续查找。如果在主串中再也找不到子串的首字符,则返回NULL。 子串查找函数 int findsubstr(char s[], char t[]) { int search_chr(char s[],char c); int strncompare(char s[],char t[],int n); int i=0,len=strlen(t); while((i=search_chr(s[i],t[0]))!=-1) { if(strncompare(s[i],t,len)==0) return i; else i++; } return -1; } 例6-24 函数的原型为:int f

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档