6.4字符串及应用.ppt
《6.4字符串及应用.ppt》由会员分享,可在线阅读,更多相关《6.4字符串及应用.ppt(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、6.46.4字符串及应用字符串及应用 1.1.字符串的定义字符串的定义 字符串:带有全0结束符号的有限个字符的字符序列。2.2.字符串的书写表示字符串的书写表示 用双引号括起:computer,Begin等,“A”也是一个字符串,而a只是一个字符;在字符串中空格也是有效字符。如MynameisTime.3.3.字符串的存储形式:字符串的存储形式:以“computer”为例如右图为什么以全0为字符串结束符?因为任何有效字符的ASCII码值都不可能是全0!例例 问题问题 4.4.字符数组字符数组 1)含义:数组元素全部是字符的ASCII码值。2)定义(一般形式):char数组名元素个数;charc
2、h30;charstr50;或constcharN=50;.charstringN;3)字符数组存储形式:存入字符的ASCII码,但不会自动补入全0符(0)。4)字符数组的输入与输出:用传统方式:下标方式,逐字符输入/输出。例例 5.5.字符串常量和字符串变量字符串常量和字符串变量 1)字符串常量:带结束符号的有限个字符的字符序列(结束符0)。2)字符串变量:先定义,后使用!基类型为字符类型的数组变量(或用指向字符的指针表示)。表示:以字符数组方式表示,但必有结束符03)字符串长度:字符串中有效字符个数,其中包括空格及转义字符(全0结束符不计在内)。尽管转义字符在完全符合字符串中占了几个字符位
3、置,但只当一个字符计算其长度。4)一个字符串常量的存储空间:字符串长度再加上一个结束符号0所占空间。5)字符串变量初始化:特别要注意存储空间大小,应包含结束符0的位置。比较理想的形式:charname=ZhongshanUniversity;编译程序(C/C+)会自己设计出所需存储空间大小进行分配(已包含结束符0所占用位置)。注意注意 6.6.字符串数组字符串数组 1)含义:数组元素均为字符串。(实际上是一个二维数组)2)缺陷(字符串)数组定义时必须确定数组(字符串)长度,当出现长度大于预定长度时,就引起越界存储错误。当实际字符串长度小于预定长度时,就造成浪费。3)改进办法:把字符串数组转化为
4、指针数组7.7.常用字符串处理函数常用字符串处理函数 文件包含#include1)求字符串长度:unsignedintstrlen(constchar*str);功能:求string所指字符串的字符个数(不计0)2)字符串复制:char*strcpy(char*str1,constchar*str2);功能:把str2所指字符串复制到str1所指区域中去。当str2所指字符中长度大于str1所指区域的长度时,会出现越界写入错误(str1必须经过初始化)。注意注意 3)字符串中连接:char*strcat(char*s,constchar*t);功能:把t所指字符串连接到s所指字符串末尾,形成一
5、个新字符串。传统的连接函数执行是有风险的,因为当s所指字符串所分配的空间不够时,指针t所指字符串连接过来就造成了越界存储,数组的越界访问是难以发现且相当危险的事情,因为它可能改变其它存储空间的内容(字符串复制函数strcpy()也存在这个问题)。解决的方法是利用动态空间申请new和动态空间撤销delete,根据实际需要合理地分配存储空间(关于new和delete,将在后面一节介绍)下面给出后的新字符串连接函数:#includechar*sstrcat(char*ss,constchar*tt)intm,n;char*t;char*str;m=strlen(ss);n=strlen(tt);t=
6、newcharn+1;str=newcharm+n+1;t=strcpy(t,tt);str=strcpy(str,ss);str=strcat(str,t);deletess;deletet;returnstr;根据类似思想,读者不难自己设计出strcpy()改进方案4)字符串比较(依字典排序):intstrcmp(constchar*s,constchar*t);5)输入一字符串:例:设已有charstrN;设N够大intgets(str);6)输出str所指字符串:intputs(str);(设有charstrN;(N足够大),可用:cinstr;.cout来实现。在某些特殊场合中,可能
7、无法借助人工外部输入来为程序执行提供数据,而希望程序能自动从执行程序的命令行中来获得执行所需的数据。(2)命令行是什么?下面以一个Dos操作系统的命令为例。在Dos环0境下,我们经常使用形如下述的命令来复制文件:copya:filea.datd:filed.dat在这一个命令行中,copy是复制文件的命令(实际是执行程序名);而a:filea.dat和d:filed.dat是两个执行参数。这一个命令的含义是:把a盘中的filea.dat复制到d盘中并以filed.dat命名。复制结束后,a盘中的filea.dat文件和d盘中的filed.dat文件内容相同。要完成复制工作,就要执行复制程序,并
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 6.4 字符串 应用
限制150内