收藏 分销(赏)

字符串处理函数.pptx

上传人:鼓*** 文档编号:14584724 上传时间:2026-10-16 格式:PPTX 页数:12 大小:457.97KB 下载积分:8 金币
下载 相关
字符串处理函数.pptx_第1页
第1页 / 共12页
字符串处理函数.pptx_第2页
第2页 / 共12页


点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,1-,1,融智技术学院,第,13,章 字符串处理函数,杨章伟,e-mail:yang505412,第1页,第1页,课程内容安排,输入输出函数,复制和拼接函数,比较和转换函数,小结,习题,第2页,第2页,输入输出函数,输入输出操作使用十分频繁,,C,语言原则库为字符和字符串分别专门定义了几组输入输出函数。其中包括:,putchar,函数和,getchar,函数,它们提供了字符输入和输出操作;,puts,函数和,gets,函数,它们提供了字符串输入和输出操作。,字符输入输出函数,字符串输入输出函数,第3页,第3页,复制和拼接函数,字符串复制和拼接也是应用频繁操作。,C,语言原则库提供了,strcpy,函数和,strncpy,函数来实现字符串复制功效,并提供了,strcat,函数和,strncat,函数来实现字符串拼接功效。,第4页,第4页,字符串复制函数,C,语言为字符串复制操作也定义了一个,strcpy,函数。使用形式下列:,strcpy(str1,str2);,其中,,str1,和,str2,为字符串。执行该语句后,,strncpy,函数会将字符串,str2,复制到字符串,str1,中。,strcpy,函数不是一个安全函数。由于该函数会为一个字符数组,str1,赋值,因此,该值不能超出,str1,有效内存空间,假如超出了将会覆盖外部内存空间,从而也许造成不可预测问题。因此,使用该函数时,必须注意两个字符串字长。,【,范例,13-3】,演示,strcpy,函数使用和缺点,第5页,第5页,字符串拼接函数,strcat,函数和,strncat,函数提供了字符串拼接功效。,strcat,函数申明下列:,char*strcat(char*str1,char*str2);,其功效为将,str2,有效字符拼接到,str1,有效字符后面,因此,,str1,空间要足够存储,str1,和,str2,所有有效字符。,strncat,函数申明下列:,char*strncat(char*str1,char*str2,int n);,其功效为将,str2,前,n,个字符复制到,str1,后面,此时,要求,str1,剩余空间要足够,n,个字符。,strcat,函数能够转换为,strncat,函数来调用。比如,下列两个函数调用是等效:,strcat(st1,str2);,strncat(str1,str2,length(str2);,第6页,第6页,字符串比较函数,strncmp,函数是,C,语言中用于比较字符串函数。在,C,语言中,字符串之间比较不能使用关系操作符直接进行。使用下列方式比较字符串做法是错误:,str1 str2,由于字符数组名,str1,和,str2,代表数值为字符串首地址,因此,该语句作用是两个字符串首地址比较,而不是字符串内容比较。,C,语言中为比较两个字符串大小提供了,strncmp,函数。其使用形式下列:,strncmp(str1,str2,n);,其中,,str1,和,str2,都为字符串,,n,为整数。执行该语句后,,strncmp,函数会比较字符串,str1,和字符串,str2,前,n,个字符。,【,范例,13-6】,使用,strncmp,函数比较字符串,第7页,第7页,字符串转换函数,用来对字符串进行大小写转换函数:,strupr,函数和,strlwr,函数。其中,,strupr,函数将字符串中所有小写字母换成大写字母,,strlwr,函数将字符串中所有大写字母换成小写字母。其使用方式下列:,strupr(str1);,strlwr(str2);,第,1,行语句执行后,字符串,str1,中所有小写字母都会被转化为大写字母,其余内容均不变。第,2,行语句执行后,字符串,str2,中所有大写字母都会被转换为小写字母,其余内容均不变。这两个函数操作结果都保留在原字符数组上,两个函数返回值都是字符数组首地址。,【,范例,13-7】strupr,函数和,strlwr,函数使用,第8页,第8页,小结,本章学习了字符数组和字符串使用,同时简介了几种惯用字符串处理函数,为字符串操作提供了极大便利。在本章学习中,需要注意下列问题:,0,就是值为,0ASCII,码,这是没有内容码字,其在字符串中作用是用做字符串终止符。,字符串必须包括,0,,其最后一个字符必定是,0,;而字符数组能够不要,0,。,EOF,为文献结束符,为一个系统变量,其值为,-1,。,使用,putchar,函数、,getchar,函数、,puts,函数和,gets,函数需要包括,stdio.h,头文献。,使用,strlen,函数、,strncmp,函数、,strncpy,函数、,strupr,函数和,strlwr,函数需要包括,string.h,头文献。,gets,函数和,strncpy,函数是一个不安全函数,使用时要确保在被赋值字符数组合法范围内操作。,第9页,第9页,1,【,考题,】,寻找热门查询:搜索引擎会通过日记文献把用户每次检索使用所有检索串都统计下来,每个查询串长度为,1-255,字节。假设当前有一千万个统计,这些查询串重复度比较高,即使总数是,1,千万,但假如除去重复后,不超出,3,百万个。一个查询串重复度越高,阐明查询它用户越多,也就是越热门。请统计最热门,10,个查询串,要求使用内存不能超出,1G,。请给出主要处理流程。,【,解析,】,该问题用哈希算法实现,首先逐次读入查询串,算哈希值,保留在内存数组中,同时统计频度(注意值与日记项相应关系)选出前十频度,取出相应日记串,其中哈希表设计是关键。,常见面试题,第10页,第10页,2【考题】集合合并:给定一个字符串集合,格式如:aaa bbb ccc,bbb ddd,eee fff,ggg,ddd hhh要求将其中交集不为空集合合并,要求合并完成后集合之间无交集,比如上例应输出aaa bbb ccc ddd hhh,eee fff,ggg(1)请描述处理这个问题思绪和处理流程。,【解析】(1)思绪:先将集合按照大小排列后,优先考虑小集合是否与大集合有交集。有就合并,假如小集合与全部其它集合都没有交集则独立。独立集合在下一轮比较中不用考虑。这么就能够尽也许降低字符串比较次数。当全部集合都独立时候,就终止。,常见面试题,第11页,第11页,1,请使用,getchar,函数实现一个函数,要求其功效与,gets,函数一致。该函数申明下列:,char*my_gets(char*);,【,提醒,】,使用,getchar,函数一个一个地读取字符,保留到字符串中,直至碰到空白符。,2,请使用,putchar,函数实现一个函数,要求其功效与,puts,函数一致。该函数申明下列:,void my_puts(char*);,【,提醒,】,使用,putchar,函数一个一个打印字串中字符,直至碰到,0,。,综合练习,第12页,第12页,
展开阅读全文

开通  VIP、SVIP  下载更划算
下载10份以上建议开通 VIP 会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        关注我们

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服