6.4字符串和应用.pptVIP

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.4字符串和应用

§6.4 字符串及应用 ;1.字符串的定义 ;3.字符串的存储形式: ;4.字符数组 ;5.字符串常量和字符串变量 ; ;6.字符串数组 ;7.常用字符串处理函数 ; ;下面给出后的新字符串连接函数: #includestring.h char* sstrcat(char* ss, const char* tt) { int m, n; char* t; char*str; m=strlen(ss); n=strlen(tt); t=new char[n+1]; str=new char[m+n+1]; t=strcpy(t,tt); str=strcpy(str,ss); str=strcat(str,t); delete ss; delete t; return str; } 根据类似思想,读者不难自己设计出strcpy()改进方案;4)字符串比较(依字典排序):int strcmp(const char* s,const char* t); 5)输入一字符串:? 例: 设已有char str[N];设N够大 ?????? int gets(str);; ;8.字符串与指针数组应用的例子(主函数带参数);一般程序所设计的主函数main都不带参数,圆括号的参数列表是空的。如main()。程序执行中从外部输入数据多用cin来实现。 在某些特殊场合中,可能无法借助人工外部输入来为程序执行提供数据,而希望程序能自动从执行程序的命令行中来获得执行所需的数据。 ;(2)命令行是什么?下面以一个Dos操作系统的命令为例。 在Dos环0境下,我们经常使用形如下述的命令来复制文件: copy a:\filea.dat d:\filed.dat 在这一个命令行中,copy是复制文件的命令(实际是执行程序名);而a:\filea.dat和d:\filed.dat是两个执行参数。这一个命令的含义是:把a盘中的filea.dat复制到d盘中并以filed.dat命名。复制结束后,a盘中的filea.dat文件和d盘中的filed.dat文件内容相同。; 要完成复制工作,就要执行复制程序,并从命令行中获得源文件和目标文件的信息。人们只需要发出上述的复制命令,程序被执行时,操作系统将自动读取所给出的参数并执行。 若把copy也当作一个参数,则上述命令中包含了三个参数段:命令段copy;源文件a:\filea.dat;目标文件d:\filed.dat,总共三个参数段,缺一不可。;(3)数字字符串转换成整数或实数 如果程序执行时所需要的参数不是字符串而是整数或实数时,我们还得想办法把数字字符串转换为整数或实数。C和C++已为我们提供了这些转换函数,它们被组织在stdlib.h里面。以下是常用转换函数原型: ①把指针S所指向的数字字符串转换为整数(int) int atoi(const char*s); ②把指针S所指向的数字字符串转换成实数(double) double atof(const char*s); ③把指针S所向数字字符串转换成长整型数(long) long atol(const char*s);;(4)主函数带参数的形式 主函数带参数主要有两种形式: int main(int argc,char* argv[]); int main(int argc,char* argv[],char* env[]); 其中,argc是一个整数,表示传给主函数的命令行参数个数,其实际值是实际参数加1(把命令本身也当作一个参数); argv是一个指针数组,argv[0]指向命令名(包含路径);argv[1]指向执行程序名后的第一个参数,argv[2]为执行程序名后的第二个参数,.....以此类推。 ;env也是一个指针数组,env[]的每一个元素将指示相关的环境值(作为一般用户实际没有必要去详细了解它)。 也可以使用其他用户自定义标识符来作为主函数形参表中的形参名。 (5)主函数带参数的例子(主函数带2个参数) 设计一个名为sumint的程序。 其功能为:在编译、连接获得可执行文件sumint.exe以后,在操作系统环境下,输入 sumint m n 以后,程序就自动计算从m到n之间的所有自然数之各并输出(其中,0mn32000)。;设输入为sumint 15 31200 则执行程序时,系统会自动计数得argc为3;而其它参数则如下图所示: 指针数组argv各元素分别指向各参数段(字符串形式)。 值得注意的是,程序执行时要求以自然数形式进行计算,所以就要求把数字字符串转换为整数。;综上所述,可得到如下程序: #includeiostream.h //文件名sumint.cp

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档