第7章 字符串及其应用.ppt

第7章 字符串及其应用.ppt

ID:48534987

大小:377.50 KB

页数:63页

时间:2020-01-23

第7章 字符串及其应用.ppt_第1页
第7章 字符串及其应用.ppt_第2页
第7章 字符串及其应用.ppt_第3页
第7章 字符串及其应用.ppt_第4页
第7章 字符串及其应用.ppt_第5页
资源描述:

《第7章 字符串及其应用.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、程序设计技术C语言数据描述和C程序设计初步结构化程序设计基础和C语言的控制结构数组及其应用函数与C程序结构指针与函数指针与数组字符串及其应用结构体类型和联合体类型C语言的文件处理及其应用位运算与枚举类型字符串及其应用C语言的字符串表示方法字符串的常用处理方法及标准库函数字符串表示方法主要有两种方式来表示字符串:使用指向字符类型变量的指针通过定义字符类型指针变量,并将字符串或字符串常量的首地址赋给该指针,用该指针变量来表示字符串数据,例如char*sPtr;*sPtr=”ThisisCString.”;使用字符数组首先定义字符类型的数组,然后将字符串数据的每一

2、个字符依次存放到指定的字符数组中,此后的程序代码中可以使用该字符数组的名字表示其所存放的字符串数据。例如charstr[7]=”abcd”字符串表示方法两种字符串数据表示方式的根本区别(1)定义一个字符类型指针变量表示字符串例如语句char*sPtr=”abcd”;系统处理的方法:1.分配一段连续的存储区域并存放指定的字符串常量2.将该存储区域的起始地址3.由于sPtr是指针变量,可以根据需要指向任意合法的字符数据对象例如sPtr=”1234”sPtr改变指向从”abcd”转变成为表示”1234”。字符串表示方法abcdsPtra)指针变量指向字符串常量

3、abcdabcdsPtrb)指针变量改变原指向指向另一字符串1234图7.1指针变量与字符串数据对象的关系示意图字符串表示方法(2)定义字符类型数组表示字符串例如语句charstr[7]=”abcd”;,本质意义:1.字符数组str按指定长度在系统的内存储器中分配连续的存储区域,字符数组的名字str表示起始地址,2.将该存储区域的内容初始化为字符串数据”abcd”。abcdstr图7.2数组名与其初始化值之间的对应关系字符串表示方法程序代码中任何试图修改数组名str值的操作或者试图为数组整体赋值的操作都是错误的,请比较下面的两段代码:

4、/*正确的程序代码段*/char*sPtr=”abcd”;…sPtr=”1234”;/*改变指针变量sPtr的指向*//*错误的程序代码段*/charstr[7]=”abcd”;…str=”1234”;//错误赋值操作,试图将数组作为整体操作两种表示方式下的不同意义:使用字符类型数组表示字符串数据时,字符串数据是字符数组中存放的内容,只要需要均可以通过合法的语句对数组中的内容进行修改。使用字符类型指针来表示字符串数据时,字符串数据是常量,任何试图修改常量数据的操作都是非法的,亦即字符类型指针指向的常量字符串内容在程序中是不能被修改的。字符串表示方法字符串表示

5、方法字符数组初始化的两种主要方法(1)使用单个字符常量初始化字符数组用单个字符初始化时,将常量表中的字符依次赋值给对应得字符数组元素。在初始化时应注意以下几点:常量表中的最后一个字符应该是字符串结尾符号''字符;部分初始化时未赋值部分仍然是''字符;如果常量表中提供了所有的字符(包含''),可以省略数组的长度;下面是几个单个字符常量初始化字符数组的示例:chars1[9]={'N','e','w','','Y','e','a','r',''};chars2[9]={'H','e','a','d',''};chars3[]={'N','e'

6、,'w','','Y','e','a','r',''};字符串表示方法(2)使用字符串常量初始化字符数组系统会自动在末尾加上字符串结尾符号‘’,但定义的字符数组必须提供足够的长度。在初始化时应该注意以下几点:字符串常量只需要提供有效字符数据;字符串常量不足以填满整个字符数组空间时仍然使用''字符填充;字符串常量数据可以使用花括号括住,也可以不使用;如果没有指定字符数组的长度,系统自动指定为字符串常量中有效字符的个数+1;下面是几个字符串常量初始化字符数组的示例:chars1[80]={"NewYear"};chars2[80]="NewYear"

7、;chars3[]="NewYear";//此时字符数组的长度为9字符串的输入输出字符串数据的输入(scanf或gets)1.scanf/*使用格式控制项%c*/charstr[10];intj;for(j=0;j<9;j++)scanf(“%c”,&str[j]);str[j]=’’;/*为了保证完整性,自行处理字符串结尾符号*//*使用格式控制项%s*/charstr[10];scanf(“%s”,str);/*字符串数据作为整体处理,系统会自动处理结尾符号*/2.gets使用标准库函数gets时,将字符串数据作为一个整体来看待如下所示:/*使用标准

8、库函数gets*/charstr[10];gets(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。