第10章 字符串.ppt

第10章 字符串.ppt

ID:48243092

大小:222.00 KB

页数:35页

时间:2020-01-18

第10章 字符串.ppt_第1页
第10章 字符串.ppt_第2页
第10章 字符串.ppt_第3页
第10章 字符串.ppt_第4页
第10章 字符串.ppt_第5页
资源描述:

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

1、第十章字符串计算机二级辅导办公室10.1用一维字符数组存放字符串字符串的相关概念C语言对字符串的处理方式字符串是借助于一维字符数组存放的,但两者并不等价字符串总是以‘’作为串结束标志‘’占用存储空间,但所说的串长不包括‘’字符串常量的相关概念字符串常量用“”把有效字符包含,不必加‘’字符串常量实际是以‘’结尾的无名字但有地址的一维数组字符串常量可以赋值给字符指针变量,但不能赋给一个已经定义了的一维字符数组例如:char*sp,s[10];则:s=“hello!”;sp=“hello!”;字符数组和字符串的区别字符数组的每一个元素都可以是任意字符字符串是由字符数组中第

2、一个‘’和前面的字符所组成的赋初值方式同一般数组例题如下:1.charstr[10]={‘s’,‘t’,‘r’,‘i’,‘n’,‘g’,‘!’,‘’}等价于:2.charstr[]={‘s’,‘t’,‘r’,‘i’,‘n’,‘g’,‘!’,‘’};等价于:分析:charstr[]={‘s’,‘t’,‘r’,‘i’,‘n’,‘g’,‘!’};在赋初值时直接赋字符串常量例题如下:1.charstr[10]={“string!”};等价于charstr[10]=“string!”;2.charstr[]=“string!”;不等价于charstr[7]=“string!”;通过赋

3、初值方式给一维字符数组赋字符串string!string!不可以用赋值语句给字符数组整体赋一串字符1.charmark[10];mark=“computer”;2.charm[10]=“good!”;charn[10];n=m;给数组元素逐个赋字符值,最后人为加入串结束标志1.charm[10];m[0]=‘s’;m[1]=‘t’;m[2]=‘r’;……m[9]=‘’;2.charmark[10];inti;for(i=0;i<9;i++)scanf(“%c”,&mark[i]);mark[i]=‘’;在C程序执行过程中给一维字符数组赋字符串10.2使指针指向一

4、个字符串通过赋初值的方式使指针指向一个字符串可以在定义字符指针变量的同时,将存放字符串的存储单元起始地址赋给指针变量例如:char*ps=“string”;这里将把字符串常量的无名存储区的首地址赋给了指针ps通过赋值运算使指针指向一个字符串1.charstr[]=“formtwo”,*ps2;ps2=str;等价于:charstr[]=“formtwo”,*ps2;ps2=&str[0];2.char*ps;ps=“string”;用字符数组作为字符串和用指针指向的一个字符串之间的区别charmark[]=“Aprogram”;和char*pmark=“Aprogram”;区别是:内容

5、相同,存储结构不同,占的存储空间不同;10.3字符串的输入和输出逐个字符输入和输出:%c例:main(){charstr[5];inti;for(i=0;i<4;i++)scanf(“%c”,&str[i]);str[i]=‘’;for(i=0;i<5;i++)printf(“%c”,str[i]);}输入和输出字符串时的必要条件(串整体%s)字符串进行输出时,输出项是字符串或字符数组名或是已指向字符串的字符指针变量字符串进行输入时,输入项是字符数组名或指针用格式说明符%s进行整输入和输出:用%s输入和输出的形式为:scanf(“%s”,str_adr);其中str_adr是地址值

6、printf(“%s”,str_adr);其中str_adr是地址值注意:用%s输入字符串时,空格和回车符都作为输入数据的分隔符而不能被读入!2.输入字符串长度大于数组字符个数,系统不报错3.输入项为字符指针时,该指针已指向确定的有足够空间的连续存储单元4.当输入项是数组元素的地址时,输入数据将从这一元素开始存放.gets函数的调用形式为:gets(str_adr);其中str_adr是存放输入字符串的起始地址,可以是字符数组名、字符指针或字符数组元素的地址例如:charstr[20];gets(str);注意:此种方式输入的字符串中可以有空格puts函数的调用形式为:puts(str

7、_adr);其中str_adr是存待输出字符串的起始地址调用gets、puts函数在终端输入或输出一行字符串#includemain(){chara[15],b[5],c[5];scanf("%s%s%s",a,b,c);printf("a=%sb=%sc=%s",a,b,c);scanf("%s",a);printf("a=%s",a);}运行情况:输入:Howareyou?输出:a=Howb=arec=yo

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

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

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