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

    字符数组与字符串处理函数.ppt

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

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

    字符数组与字符串处理函数.ppt

    第十二讲、字符数组与字符串处理函数,教学目的,1、掌握字符数组的定义、初始化、引用2、掌握字符数组的输入与输出3、掌握字符串处理函数,教学内容,1、字符数组的定义和使用2、字符数组的初始化3、字符串的输入和输出4、字符串处理函数5、程序举例,教材分析,教学重点:字符数组的输入与输出字符串处理的算法教学难点:字符串处理函数字符串处理的算法,12.1 字符数组的定义和使用,字符数组定义的一般形式:char 数组名数组长度;例如:char c10;说明:字符型和整型是通用的,因此定义也可改为 int c10;但应注意它们占用的存储空间不同。实际应用中,可以用无符号整型数组来代替字符数组。例如:unsigned int c10;可以代替 int c10;,10个元素占10个字节,在TurboC中10个整数占20个字节,12.2 字符数组的初始化,1、用字符常量对字符数组进行初始化例如:char str 8=,p,r,o,g,r,a,m或:char str=,p,r,o,g,r,a,m或:str0=,str1=p,str2=r,str3=o,str4=g,str5=r,str6=a,str7=m说明:如果只给数组的一部分字符元素初始化,没有指定初值的元素默认初值为空字符(ASCII码为0的字符)。注意,空字符与空格字符(ASCII码32)不同。,12.2 字符数组的初始化,2、用字符的ASCII码值对字符数组 进行初始化(了解)例如:char str8=112,114,111,103,114,97,109,0;3、用字符串(用双引号括着的字符序列)对字符数组进行初始化例如:char str=“program”;该方式赋予数组8个字符,最后一个为“0”,而char str=p,r,o,g,r,a,m;占内存7个字节。,字符串结束标志(自动加上),C语言的字符串称又0字符串,即最后一元素值为0的字符数组。,12.3 字符串的输入和输出,调用scanf函数时,空格和换行符都作为字符串的分隔符而不能读入。gets函数读入由终端键盘输入的字符(包括空格符),直至读入换行符为止,但换行符并不作为串的一部分存入。1、逐个字符输入/输出(1)在标准输入/输出函数printf和scanf中使用%c格式描述符(2)使用getchar和putchar函数。,P126【例6-23】逐个字符输入/输出#includemain()int i;char str10;for(i=0;i9;i+)scanf(%c,12.3 字符串的输入和输出,stri=getchar();,putchar(stri);,12.3 字符串的输入和输出,2、字符串整体输入/输出(1)在标准输入/输出函数printf和scanf中使用%s格式描述符P127【例6-24】字符串整体输入/输出#includemain()int i;char str10;scanf(“%s”,str);printf(“%sn”,str);printf(“%6sn”,str);/*字符串多于6个,全部输出*/printf(“%-.6sn”,str);/*只输出前6个字符,多余不输*/,str为字符数组名,代表该数组的起始地址。输入时,系统自动在每个字符串后加入结束符0。若同时输入多个字符串,则以空格或回车符分隔。,例如char str15,str25,str35;scanf(“%s%s%s”,str1,str2,str3);输入数据:How are you输入数据后str1,str2,str3 数组状态如下图:str1 str2 str3数组名具有双重功能,除了表示名称外,还表示该数组的首地址,所以用scanf函数不用在前面加“&”;字符串只能在变量定义时初始化,不能在程序语句中赋值。,12.3 字符串的输入和输出,12.4 字符串处理函数,字符串处理函数为库函数,在程序开头应加预编译命令#include以下函数参数中的str,str1,str2均为字符数组名。(1)puts(str);/*字符串输出函数 put string*/输出指定字符串。参数可以为字符串常量。输出的字符串可以包含转义字符。(2)gets(str);/*字符串输入函数 get string*/从终端输入一个字符串到字符数组,并返回字符数组的起始地址。注意:如果输入字符串有空格,则必须用gets而不能用scanf!,12.4 字符串处理函数,(3)strcat(str1,str2);/*字符串合并函数 string coalition*/把str2连接到 str1的后面,结果放在str1中,函数返回值为str1地址.例如:char str130=“Peoples Republic of”;char str2=“China”;printf(“%s”,strcat(str1,str2);输出结果:Peoples Republic of China说明:str1必须足够大,连接前两个字符串后面都有一个“0”,连接时取消str1后面的“0”,只在新串最后保留一个“0”。,12.4 字符串处理函数,(4)strcpy(str1,str2);/*字符串拷贝 string copy*/将str2复制到str1中,实际上完成字符串的赋值操作。说明:(1)str1必须足够大;(2)复制时连同字符串后面的“0”一起复制到str1中;(3)不能用赋值语句将一个字符串常量或字符数组直接赋值给一个 字符数组。例如:str1=“China”;str1=str2;是不合法的;(4)str1必须是数组名,str2可以是字符数组名,也可以是字符串常量。例如:char str120;char str2=“China”;则,strcpy(str1,str2)与 strcpy(str1,“China”)作用相同。,12.4 字符串处理函数,(5)strcmp(str1,str2);/*字串比较 string compare*/比较str1和str2,若两者相同,返回函数值为0;若str1大于str2,返回函数值为一个正整数;若str1小于str2,返回函数值为一个负整数。说明:对两个字符串自左至右逐个字符比较(按ASCII码值大小比较),知道出现不同的字符或遇到“0”为止。如果,全部字符相同,则认为相等;如果出现不相同的字符,则以第一个不相同的字符为依据确定字符串的大小。,12.4 字符串处理函数,(6)strlen(str);/*字符串长度 string length*/函数值为字符串实际长度,不包括“0”。例如:char str=“China”;printf(“%d”,strlen(str);输出结果5(7)strlwr(str);/*字符串大写转小写 string lowercase*/把str中的大写字母转换成小写字母,并存入str。str必须为字符数组,不能是字符串常量。(8)strupr(str);/*字符串小写转大写 string uppercase*/把str中小写字母转换成大写字母,并存入str。str必须为字符数组,不能是字符串常量。,char s6=CHINA;printf(%s,strlwr(s);/正确 printf(%s,strlwr(CHINA);/错误 为什么?,12.4 字符串处理函数,P130【例6-26】.将字符数组中的字符串按逆序存放后输出#include#includemain()int i,j;char t,ch80;gets(ch);/*等待用户从键盘输入一个字符串*/puts(ch);/*显示字符串*/for(i=0,j=strlen(ch)-1;ij;i+,j-)/*字符串逆序处理*/t=chi;chi=chj;chj=t;puts(ch);/*显示字符串*/,12.5 程序举例,例1 统计输入字符串中字符“x”出现的次数.,#include#includeint main()char str100;int n=0,i=0;gets(str);/*等待用户从键盘输入一个字符串*/while(stri!=0)/*统计x在str中出现的次数*/if(stri+=x)n+;printf(“字符x出现的次数是%dn,n);,if(stri=x)n+;i+;,12.5 程序举例,例2 从键盘输入N个字符串(每个字符串不超过80个字符),然后把它们按由小到大的顺序排列并输出。,#define N 5#include#include void main()int i;char strN80,temp80;for(i=0;i0)/*小者交换于stri*/strcpy(temp,stri);strcpy(stri,strj);strcpy(strj,temp);printf(“排序结果:n);for(i=0;i5;i+)printf(%sn,stri);,小结,1、字符串的结束标记02、字符串的输入与输出:gets()、puts()3、字符串处理函数:strcat(),strcpy(),strcmp(),strlen()strlwr(),strupr(),

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开