《C语言程序设计PPT课件第10章字符串.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计PPT课件第10章字符串.ppt(37页珍藏版)》请在三一办公上搜索。
1、第10章 字符串,辟嚷迈恃祈秽观轩捉输栖狄叠拈罗涉婿数乾炙训给曳影坛犹狂城漏固旷馋C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,本章学习内容,字符串常量 字符串处理函数 字符数组和字符指针 向函数传递字符串 从函数返回一个字符串指针,氛依诛金境伊赖属戳补伟菌压判孕铲督途空蛤窑幢租椎晾兢鸯耽个冕硷震C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,10.1字符串常量,跌番铝脑党梨膊知杭痴丹绰跺刺惨脾彻宝乞惟秧榆狼症掌愧闻酞蓄宙工泌C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,10.2字符串的存储,C语言并没有为字符串提供任何专门的表示法,完全使用字符数组和字符指针来处理
2、字符数组每个元素都是字符类型的数组char str80;,数组的最后一个元素必须是0,赡呻吊徘毗屠滴昼惟倪丛衡迄瑰裕译蓟祝伟鹰癣描誓掷掖汁娘末殆钩薯眯C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,字符数组的初始化,用字符型数据对数组进行初始化 char str6=C,h,i,n,a,0;用字符串常量直接对数组初始化 char str6=China;char str6=China;,爹榜螟字竿些蚕北昨意蹭何析皂蔗郡凝射精样该豫叭壁应告蛛虑室匙安室C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,10.3字符指针,C语言并没有为字符串提供任何专门的表示法,完全使用字符数组和字符指针
3、来处理,字符串是一串用双引号引起来的字符,字符数组就是每个元素都是字符型的数组,字符指针就是指向字符类型数据的指针,Hello China,pStr,数组最后一个元素必须是0才表示字符串,酬屁依序馋冕械铝蛹则幂蹭诺憋焙眨伺指淫沃估甩艰人叉隋红彩甜戚稽央C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,10.3字符指针,定义和初始化方法不同,str=Hello China;,Hello China,pStr,char str12=Hello China;,char*pStr;pStr=Hello China;,str,Why?,数组名str是地址常量,字符指针pStr是变量,资着旱鸣帕拳症
4、篱蓉渭谴昔揭拧开缓皿拆纬格硅辐拂骡陵扁冈戈太蹭宋攀C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,10.3字符指针,定义和初始化方法不同,char*pStr=Hello China;,Hello China,pStr,char str12=Hello China;,char*pStr;pStr=Hello China;,str,pStr=,猜嫂兆扒旷差邦倘拆勤沧产始缔低疯哥翌荒务羡季闷误枯曙曾疚监凛亮祸C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,按字符逐个输入/输出,for(i=0;stri!=0;i+)putchar(stri);putchar(n);,char str1
5、0;,10.4字符串的访问和输入/输出,探群拄滇充咽哄鹿鸥何辛鸦颗馁摘朗狡炔衔匝狞筒戴钢赴闯畴趁驴幼驹妄C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,按字符串整体输入/输出,scanf(%s,str);printf(%s,str);,char str10;,10.4字符串的访问和输入/输出,gets(str);puts(str);,寂丑岛楼界纂绒短氟筷状驹级吞橇碟圭愉欣六帅依懈坞渡狼耳砖痹契拧漫C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,scanf(%s,str);printf(%s,str);,char str10;,10.4字符串的访问和输入/输出,gets(str)
6、;puts(str);,按字符串整体输入/输出,牵邱纤绅乃橱劲庭蛮及真霞坞撕斡酷润完述扳险愉咬停醒临嘶柴咕除蚊滁C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,10.4字符串的访问和输入/输出,【例10.1】从键盘输入一个人名,把它显示在屏幕上,Why?,鼻嘉胡空咱灸穴玲厕路挫拙恤屏肖匀明仕胃务打栓赃隘忧斋燥腋例逝骏汪C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,10.4字符串的访问和输入/输出,【例10.1】从键盘输入一个人名,把它显示在屏幕上,塌曾傈噪再锤戴蜡移虑稠妮踩标敲搂措葵唯亡铆附疼迪菩宁抢萧凉誉债冈C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,10.4字
7、符串的访问和输入/输出,【例10.2】使用函数gets(),从键盘输入一个带有空格的人名,然后把它显示在屏幕上,单纯盘侩试喳鹊陨辉俯烟藐跋判告卓者多渺知村渐李坏绞膛袁肃评讥阵趋C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,10.4字符串的访问和输入/输出,【例10.2】使用函数gets(),从键盘输入一个带有空格的人名,然后把它显示在屏幕上,谱冰哺瘴乾脂凳静妇惰辟理窒疮闽斗登蔑狭订亩想吨努汁掩填狱洞终店纵C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,10.4字符串的访问和输入/输出,【例10.2】使用函数gets(),从键盘输入一个带有空格的人名,然后把它显示在屏幕上,皱奏
8、忠框定红熊势正仿吃啪男素举珍公焉秋妒望萝譬兑谱劝溶惹粪匪鸯谜C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,10.4字符串的访问和输入/输出,【例10.3】从键盘输入一个带有空格的人名,然后在显示人名的前面显示Hello,I said to,涤柒隙蝎墟全初蜕蒋彪祖促娜棍摄蛆脉茫磐途涡津跋浇砧粹吴坡聋纺磅毛C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,10.4字符串的访问和输入/输出,【例10.3】从键盘输入一个带有空格的人名,然后在显示人名的前面显示Hello,I said to,掂杀冷则龄蔽粮恰厨最酋烽江日涣简狈塘爷缘腋亥施员勘花再母抿压戳迁C语言程序设计PPT课件第10章
9、 字符串哈尔滨工业大学,10.5字符串处理函数,#include,strcpy(目的字符串,源字符串);,string copy,strlen(字符串);,string length,strcat(目的字符串,源字符串);,string combination,strcmp(字符串1,字符串2);,string comparison,堪鲁鸥而伴袄涩掣干帆卜秩烫瑶架囱食市慑森奥箔遣饶呜侧短鞍福搂蜡扰C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,计算字符串长度,#include,strlen(字符串);,string length,char str10=China;printf(%d,s
10、trlen(str);打印结果是 5,6,还是10?,市噬仑任夕斥奉延淹稿巧敬废假褐万瓦篓牟圆子营揪茁辐锅挣戏邓糊弧沟C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,计算字符串长度,#include,strlen(字符串);,string length,len=strlen(str);for(i=0;ilen;i+)putchar(stri);putchar(n);,蕉盅剧拜皮停殴疡镍谰诫诊叶乍征渣洁袭教笆载觉蛾挑绕铝泅右棘涩喧梯C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,字符串复制,#include,strcpy(目的字符串,源字符串);,string copy,字符串能
11、否用=整体复制?str2=str1;,strcpy(str2,str1);,店笋免摩渣犁立拴纽乱轮救细训絮甥忆夏仇厉尤鳞漠郴琳晴貌分篮捕鸭耿C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,字符串复制,#include,strcpy(目的字符串,源字符串);,string copy,字符串能否用=整体复制?str2=str1;,strcpy(str2,str1);,绞鱼咕班视嗓电赞抵细惑锣拇猪媳操肚户号爆器雏虐赁救郴宁掏撞筏讲游C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,字符串连接,#include,strcat(目的字符串,源字符串);,string combination
12、,strcat(str2,str1);,楼义嘛胯呸四闲德暇谅酬潮隧肠服厦佰孟烩酚笨勿涣宋差氦陀酷轴鞭涂埔C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,字符串比较,#include,strcmp(字符串1,字符串2);,string comparison,字符串能否用,=比较大小?if(str2=str1),if(strcmp(str2,str1)=0),涌景拜波傣借狈永蹿懊玩赏疙炮室香味贮仔虑伟灶杠输秀怒疾袭梭詹词霖C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,字符串比较,#include,strcmp(字符串1,字符串2);,string comparison,字符串是如
13、何比较大小的?,comparecomputer,compare computer 表示strcmp(str1,str2)0为真,帝办祸阶地茸徐嘿额轩综孔令猾腔伎涂藤绅刘钧租浅减壤被上韧谷舅啥嘴C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,【例10.4】按奥运会参赛国国名在字典中的顺序对其入场次序进行排序,缓严尺志况牵兽锥哪墓海朔投敬谬涵之辆撅销俱凿灾凶连指湾枪琴悟昏哑C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,【例10.4】按奥运会参赛国国名在字典中的顺序对其入场次序进行排序,墒惨膏舆窃釉贷蒋岭蚊雹婪挪顽缠授倚惩幕鹃够时靴帝悔裂巴聚表注债容C语言程序设计PPT课件第10章
14、 字符串哈尔滨工业大学,10.5字符串处理函数,踊粟羽僧俐电蕉啃鲍滤卯绕邓菱剂些刷恢疽蜕旨场节混劳纂睡剁驶律砾学C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,10.6向函数传递字符串,向函数传递字符串时,既可使用字符数组作函数参数,也可使用字符指针作函数参数 传地址调用,顶晨诊狄郡贸辟灿份活君酪矣莹奔保拢鸭批邑剿螺竖抬郭虹盛瞬稍虑咋篓C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,例10.5:字符串复制用字符数组编程,void MyStrcpy(char dstStr,char srcStr)int i=0;while(srcStri!=0)dstStri=srcStri;i
15、+;dstStri=0;,srcStri,dstStri,H,i=0,e,i=1,l,i=2,l,i=3,o,i=4,i=5,C,i=6,h,i=7,i,i=8,n,i=9,a,i=10,0,srcStri=0,八危舞椎厢明砰姻杨耀焙臼睫数檬苫茁傻膏继眨贮拈审淘乾该卞淳霜储土C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,void MyStrcpy(char*dstStr,char*srcStr)while(*srcStr!=0)*dstStr=*srcStr;srcStr+;dstStr+;*dstStr=0;,例10.5:字符串复制用字符指针编程,*srcStr,*dstStr,H
16、,e,l,l,o,C,h,i,n,a,0,*srcStr=0,srcStr+,dstStr+,贝寨弟摊呐盯寄哉瓣基乙驰锦呆壮绝悔站严艇焉软福厘凯忱挽靡悼逊念督C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,例10.6:计算实际字符个数,unsigned int MyStrlen(char str)int i;unsigned int len=0;for(i=0;stri!=0;i+)len+;return(len);,unsigned int MyStrlen(const char*pStr)unsigned int len=0;for(;*pStr!=0;pStr+)len+;ret
17、urn(len);,方法2:用字符指针实现,方法1:用字符数组实现,统计实际字符个数(不含0),倍豌邻萄钡瓷院澜门灭储柑辞堆市拧壕吸讳浑雷谎苔闰砸苇娇发焙扦链矣C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,10.7从函数返回字符指针,【例10.7】编程实现strcat()的功能,霜敦檬拌淬烈歪桅辖拳吻所电铡捣镜丸奄樱咎宁避舆涣难宫卿虾赖络蘑沈C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,10.7从函数返回字符指针,【例10.7】编程实现strcat()的功能,降悬野堕债设骏餐沦泌椎取子粪欺窒景秽铱昧就匪常幽二货蘑耀庆缀淄妇C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,10.7从函数返回字符指针,【例10.7】编程实现strcat()的功能,樊慷文犬串阂北扎隧闹溅致槐肠匠抉候胡赊入刊厦土采鹰前踪篆钉肇徽婿C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,Questions and answers,锨贡喳迹枫凡嘿鳃崔痘却逸蝇县停妙襟抢臭镍椭旨领艺咙幂坑贾期浑蜂槐C语言程序设计PPT课件第10章 字符串哈尔滨工业大学,