电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

C语言课程课件 第十章 字符串

  • 资源ID:36586875       资源大小:376.50KB        全文页数:28页
  • 资源格式: PPT        下载积分:8金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要8金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

C语言课程课件 第十章 字符串

第10章 字符串 10.1 用一维字符数组存放字符串 10.2 使指针指向一个字符串 10.3 字符串的输入和输出 10.4 字符串数组 10.5 用于字符串处理的函数 10.6 程序举例10.1 用一维字符数组存放字符串字符常量:是用单引号括起来的一个字符。例如A C t ! ?字符串常量:是由双引号括起来的一串字符 。例如“CHINA”在内存中占一个字节在内存中占6个字节在内存中的存储形式是:C H I N A 0在内存中,系统会自动的在字符串的末尾 加上一个0,作为字符串的结束标志,系统 只要看到它就认为该字符串到此就结束了。 但要注意,该字符串的实际长度还是为5。注意由于变量只能存放一个字符,所以字符串的存放只能存储 在数组当中。10.1 用一维字符数组存放字符串10.1.1 通过赋初值的方式给一维字符数组赋字符串 如下定义的是含有10个整型元素的一维数组,并初始化。int a10=2,4,6,8,10;在内存中的存储形式是:2 4 6 8 10 0 0 0 0 0 如下定义的是含有10个元素的一维字符数组,并初始化。char str10=s, t, r, i, n, g, !;在内存中的存储形式是:s t r I n g ! 0 0 0也可以按这种形式进行赋值: char str10=s, t, r, i, n, g, !, 0;在内存中的存储形式是:s t r I n g ! 0 0 0无论用上面哪中方式赋值,字符串中的结束标志总是为第一个。10.1 用一维字符数组存放字符串10.1.1 通过赋初值的方式给一维字符数组赋字符串也可以用赋初值的方式来定义字符数组的大小,这时定义时一定要写成:char str=s, t, r, i, n, g, !, 0; 该字符串的实际长度为7。 该数组中包含了8个元素,在这种情况下,一定要人为的在后面加一个0。 否则该数组中就没有结束标志,就不能称数组中存放的是字符串了。例如:char str=s, t, r, i, n, g, !;该数组中只包含7个元素10.1 用一维字符数组存放字符串10.1.1 通过赋初值的方式给一维字符数组赋字符串也可以直接用字符串常量给一维字符数组赋初值。例如:char str10= “sting!” ;char str10=“sting!”;习惯上均省略花括号注意把一个字符串常量赋值给一个一维字符数组时,数组的元素个数 一定要大于字符串的实际长度char str6=“sting!”;由于字符串的实际长度为6,而数组只有6个存储单元,0将无法存放。如下的定义形式也可以正确进行:char str =“sting!”; 数组中包含7个元素(含 系统自动加的0)10.1 用一维字符数组存放字符串10.1.2 在C程序执行过程中给一维字符数组赋字符 串 在定义时,给一维字符数组赋字符串:char mark10=“C Program”;(合法)char mark10; mark=“C Program”;(非法)数组名为地址值,为一个 地址常量,不能被赋值。以下的赋值语句也是错误的:char str110=“computer”, str210;str2=str1; /*赋值不合法*/*分别定义两个一维字符数组*/赋值号左边也为数组名10.1 用一维字符数组存放字符串10.1.2 在C程序执行过程中给一维字符数组赋字符 串例如,我们已经定义了一个一维字符数组,如下:char mark10; 我们也可以逐个给数组元素进行赋值,例如: mark0=C; mark1= ; mark2=P; mark3=r; mark4=o; mark5=g; mark6=r; mark7=a; mark8=m; mark9=0;也可以在程序运行的过程当中,通过一个循环语句,从键盘上向数组中 输入指定的字符。如下:char mark10; int i; for(i=0;i在内存中的存储形式是:C P r o g r a m 010.2 使指针指向一个字符串可以在定义字符指针变量的同时,将一个字符串赋值给指针变量。例如:char *ps1=“form one”;如上,是把存放字符串常量的无名存储区的首地址赋给指针变量ps1,使ps1 指向字符串的第一个字符f。如下图所示:ps1form one0又如:char str=“form two”, *ps2=str;无名存储区在定义指针变量的同时让指针变量指 向了str的首地址,即指向了字符串的 第一个字符f。ps2form two0str10.2 使指针指向一个字符串通过赋值运算使指针指向一个字符串例如:char *ps1;ps1=“from one”;使指针ps1指向字符 串的第一个字符f。又如:char str =“from two”, *ps2;ps2=str;使指针ps2指向了存放字 符串的字符数组str的首 地址。ps2=10.2 使指针指向一个字符串用字符数组作为字符串和用指针指向的字符串之间的区别若有以下定义: char mark = “PROGRAM”; char *pmark= “PROGRAM”;它们在内存中的存储形式如下:P R O G R A M 0markpmarkPROGRAM0区别 两个字符串分别占有不同的存储空间。 指针变量pmark中的地址可以改变而指向另外一个长度不同的字符串。10.3 字符串的输入和输出10.3.1 输入和输出字符串时的必要条件对字符串输入输出时的必要条件:输入和输出的格式说明符为 %s输出项字符串常量字符数组名字符指针变量printf(“%sn” , ”I love you!”);输入项字符数组名字符指针变量char str =“I love you!”; printf(“%sn” , str);char str =“I love you!” , *p=str; printf(“%sn” , p);I love you!转去介绍输出时直到遇第一 个0结束输出。10.3 字符串的输入和输出输入项字符数组名字符指针变量当字符数组名作为输入项:char str15; scanf(“%s”,str);输入形式为: PROGRAMMING在内存中的形式是: P R O G R A M M I N G 0 0 0 0说明当字符指针变量作为输入项:char str15 , *p=str; scanf(“%s”,p);操作功能和上面相同 当字符数组名作为输入项时,输入字符串的长度最好不要超过字符数组的个数。 当字符指针变量作为输入项时,该指针变量必须已指向确定的有足够空间的连续存储单元。 用%s格式符输入字符串时,空格和回车符都作为输入数据的分隔符而不能被读入。例如以上程序段输入:APROGRAM MING则在str中存入的只是字符串“APROGRAM”,而不是字符串“APROGRAM MING”10.3 字符串的输入和输出10.3.3 调用gets、puts函数在终端输入或输出一行字符串调用gets函数来输入字符串,例如:char str15; gets( str );若从键盘上依次输入: APROGRAM MING在内存中的形式是: A P R O G R A M M I N G 0 0 系统自动会用0替代 最后的换行符。调用puts函数来输出字符串,例如:char str15; gets( str ); puts( str );若从键盘上依次输入: APROGRAM MINGAPROGRAM MING输出结果为:依次输出存储单元中的字符,遇到第一个0即结束输出,注意,调用该puts函数 输出时,系统并自动输出一个换行符。空格一起 读入10.4 字符串数组所谓字符串数组就是一个二维字符数组。例如:char name1080; /*定义了一个10行80列的二维字符数组*/也可以把该二维数组视为由10个一维数组构成,每一个一维数组中又包含 80个数组元素。注意:作为字符串使用时,每一行最多可以存放79个有效字符,最后一个存储单元留给0,在二维字符数组中,每一行的最后一个存储单元都要有一个0。字符串数组也可以在定义的同时赋初值。例如:char ca35=“A”, ”BB”, ”CCC”;ca0ca1ca2ca00A 0 0 0 0B B 0 0 0C C C 0 0字符串数组ca赋初值后的存储示意图定义时赋初值时行下标可以省略:char ca 5=“A”, ”BB”, ”CCC”;10.4 字符串数组可以定义字符型指针数组并通过赋初值来构成一个类似的字符串数组。例如:char *pa3=“a”, ”bb”, ”ccc”;定义了一个字符型指针数组,该数组中含有3个元素pa0 、pa1、 pa2,且每一个 元素都是一个指向字符串的指针。pa0pa1pa2a 0b b 0c c c 0图示注意:各字符串所占存储单元之间并不一定连续,访问这些字符串全依赖于pa。可以引用的形式有:*(pa0+0) *(pa1+0) *(pa1+1)*(pa2+0) *(pa2+1) *(pa2+2)pa00 pa10 pa11 pa20 pa21 pa2210.5 用于字符串处理的函数C语言中提供了很多有关串操作的库函数,调用这些库函数能够对字符串 进行整体的处理和一些操作。不过,在调用之前,必须在程序前面用命令 行指定包含标准的头文件。 #include 字符串复制(拷贝)函数strcpy。调用形式为:strcpy(s1,s2);此函数功能是把s2所指字符串的内容复制到s1所指存储空间中,函数返回s1的值(即s1 的首地址)。注意:为保证复制的合法性,s1必须指向一个足够容纳s2串的存储空间。 字符串连接函数strcat。调用形式为:strcat(s1,s2)

注意事项

本文(C语言课程课件 第十章 字符串)为本站会员(杨****)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

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




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.