欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    字符串处理函数.ppt

    • 资源ID:4971872       资源大小:298.11KB        全文页数:21页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    字符串处理函数.ppt

    第13章 字 符 串 处 理 函 数,在本章的学习中,需要重点掌握以下知识点:putchar函数和getchar函数的正确使用;puts函数和gets函数的正确使用;strcpy函数和strncpy函数的正确使用;strcat函数和strncat函数的正确使用;strncmp函数和strcmp函数的正确使用;strupr函数和strlwr函数的正确使用。,13.1 输入和输出函数,输入输出操作的使用十分频繁,C标准库为字符和字符串分别专门定义了几组输入输出函数。其中包括:putchar函数和getchar函数,它们提供了字符的输入输出操作;puts函数和gets函数,它们提供了字符串的输入输出操作。本节将分别讨论它们的使用。,13.1.1 putchar函数和getchar函数,putchar函数和getchar函数提供了字符的输入和输出操作。putchar的作用是向标准输出打印一个字符。其使用方式一般如下:01char c;0203putchar(c);如果输出成功,putchar函数的函数值为输出字符的ASCII码值;如果失败,putchar返回一个EOF符号。,13.1.1 putchar函数和getchar函数,getchar函数的作用是从标准输入以字符型形式读入值赋值给一个字符。其使用方式一般如下:01char c;02c=getchar();执行上述语句后,getchar函数从标准输入获得一个值,并把该值作为函数值赋值给字符c。,13.1.2 puts函数和gets函数,puts函数和gets函数提供了字符串的输入和输出操作。puts函数的作用是向标准输出打印一个字符串。其使用方式如下:01char str=“Linux Terminal”;02puts(str);执行上述语句后,str的有效内容(直到第一个0)被输出到标准输出。如果函数执行成功,该函数的函数值为一个非负数;否则,返回值为EOF。如果上述第2行语句为i=puts(str);i将获得puts函数的函数值。gets函数的作用是从标准输入读取一个字符串赋给其参数。调用的形式如下:char str20=“0”;gets(str);,13.1.2 puts函数和gets函数,执行上述语句后,str将从标准输入获取一个字符串,直到遇到一个回车符n或EOF(使用【CtrlC】可以输入EOF)。例如,如果输入为:a handsome man则字符数组str被赋值为“a handsome man”。需要注意的是,由于字符串“a handsome man”有效内容为14个字符,所以在这个赋值过程中,字符数组只有前15个字符(加上1个字符串终止符)被赋值,其剩余的5个字符并不会被改变,保留原来的值。同时,str只能获取其有效空间内的字符,如果输入的字符超过20个,那么str也只能获取20个字符,但是其他多余的字符仍然会被继续赋值给str有效空间后的内存空间。这样会导致修改外部内存空间,从而导致一些不可预测的问题。,13.2 复制和拼接,字符串复制和拼接也是应用频繁的操作。C标准库提供了strcpy函数和strncpy函数来实现字符串复制的功能,并提供了strcat函数和strncat函数来实现字符串拼接的功能。本节将分别讨论两者的使用。,13.2.1 strcpy函数,C语言为字符串的复制操作也定义了一个strcpy函数。使用形式如下:strcpy(str1,str2);其中str1和str2为字符串。执行该语句后,strcpy函数会将str2的前n个字符复制到str1的前n个字符空间。需要注意的是,如果str2的有效字符不足n个,那么该函数会将str1的其余空间赋值为0。,13.2.1 strcpy函数,strcpy函数不是一个安全的函数。由于该函数会为一个字符数组str1赋值,因此该赋值不能超过超过str1的有效内存空间,如果超过了将会覆盖外部内存空间,从而可能导致不可预测的问题。因此,使用该函数时,必须注意两个字符串的字长。,13.2.2 strncpy函数,C语言为字符串的复制操作还定义了一个更为安全strncpy函数。使用形式如下:strncpy(str1,str2,n);其中str1和str2为字符串,n为整型变量。执行该语句后,strncpy函数会将str2的前n个字符复制到str1的前n个字符空间。需要注意的是,如果str2的有效字符不足n个,那么该函数会将str1的其余空间赋值为0。,13.2.2 strncpy函数,与strcpy函数类似,strncpy函数也不是一个绝对安全的函数。当n大于str1的字长空间时,同样也会发生溢出的情况。但是,由于n的存在,使程序员可以显式地控制复制字符串的大小,所以该函数比strcpy更为安全。因此,因此使用该函数时,要注意n的使用,一般n不能大于str1所占的内存大小。,13.2.3 strcat函数和strncat函数,strcat函数和strncat函数提供了字符串的拼接功能。strcat函数的声明如下:char*strcat(char*str1,char*str2);其功能为将str2的有效字符拼接到str1的有效字符的后面,因此str1的空间要足够存储str1和str2的所有有效字符。,13.2.3 strcat函数和strncat函数,strncat函数的声明如下:char*strncat(char*str1,char*str2,int n);其功能为将str2的前n个字符复制到str1的后面,此时要求str1的剩余空间要足够n个字符。strcat函数可以转换为strncat函数来调用。例如以下两个函数调用是等效的:strcat(st1,str2);strncat(str1,str2,length(str2);,13.3 比较和转换,C标准库提供了很多用于字符串比较和字符串转换的操作函数,由于篇幅的限制,本节只讨论strncmp函数和strcmp函数、strupr函数和strlwr函数。它们分别提供了字符串比较和字符串大小写转换的功能。,13.3.1 strncmp函数和strcmp函数,strncmp函数是C语言中用于比较字符串的函数。在C语言中,字符串之间的比较不能使用关系操作符直接进行。使用如下方式比较字符串的做法是错误的:str1 str2由于字符数组名str1和str2代表的数值为字符串的首地址,因此该语句的作用是两个字符串的首地址的比较,而不是字符串内容的比较。C语言中为比较两个字符串的大小提供了strncmp函数。其使用形式如下:strncmp(str1,str2,n);,13.3.1 strncmp函数和strcmp函数,其中str1和str2都为字符串,n为整数。执行该语句后,strncmp函数会比较字符串str1和字符串str2的前n个字符。字符串比较的规则为:将两个字符串从左到右逐个字符相比较,直到出现第一个不相等的字符或遇到0位置。字符大小的判断以字符的ASCII码值为准,ASCII码值较大的字符其值较大。,13.3.1 strncmp函数和strcmp函数,如果两个字符串的所有字符都相等,则两个字符相等。否则,以第一个不相等的字符的大小比较结果作为两个字符的比较结果。例如:“great”和“great”相等。“great”和“gre097t”相等,其中097即为字符a。“great”小于“greeting”。因为它们的第1个不相等字符为第4个字符,前者为a,后者为e;因为a比e小,所以前者小于后者。“great”大于“GREAT”,因为g的ASCII码值大于G的ASCII码值。,13.3.1 strncmp函数和strcmp函数,strncmp函数的函数值为其比较结果。例如:i=strncmp(str1,str2,n);当str1大于str2,则i为一正整数。当str1小于str2,则i为一负整数。当str1等于str2,则i为0。,13.3.1 strncmp函数和strcmp函数,strncmp函数还有一个版本为strcmp函数,该函数不需要指定比较个数。由于strncmp函数的可靠性比strcmp函数高,因此推荐使用strncmp函数。关于strcmp函数,在此就不多做介绍了,请读者自行查阅相关资料。,13.3.2 strupr函数和strlwr函数,最后介绍两个用来对字符串进行大小写转换的函数:strupr函数和strlwr函数。其中,strupr函数将字符串中的所有小写字母换成大写字母,strlwr函数将字符串中的所有大写字母换成小写字母。其使用方式如下:strupr(str1);strlwr(str2);,13.4 综合练习,1。请使用getchar函数实现一个函数,要求其功能与gets函数一致。该函数声明如下:char*my_gets(char*);2。请使用putchar函数实现一个函数,要求其功能与puts函数一致。该函数声明如下:void my_puts(char*);,

    注意事项

    本文(字符串处理函数.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开