C语言课件(字符串).ppt

上传人(卖家):三亚风情 文档编号:2824401 上传时间:2022-05-29 格式:PPT 页数:27 大小:321.51KB
下载 相关 举报
C语言课件(字符串).ppt_第1页
第1页 / 共27页
C语言课件(字符串).ppt_第2页
第2页 / 共27页
C语言课件(字符串).ppt_第3页
第3页 / 共27页
C语言课件(字符串).ppt_第4页
第4页 / 共27页
C语言课件(字符串).ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、字符串字符串字符串与字符数组字符串与字符数组字符数组的定义和初始化字符数组的定义和初始化字符串的输入与输出字符串的输入与输出指针与字符串指针与字符串程序设计举例程序设计举例C C语言程序设计语言程序设计简介简介字符串与字符数组字符串与字符数组在在C语言中,字符串是存储在字符数组中并用空字符语言中,字符串是存储在字符数组中并用空字符(0)结束的字符序列。)结束的字符序列。字符串字符串char name20;char names3020;name字符串名,字符串名,即字符数组即字符数组名,就是该名,就是该字符数组第字符数组第一个元素的一个元素的地址地址name0name1name19字符数组的初始

2、化字符数组的初始化给字符数组的全部元素赋初值给字符数组的全部元素赋初值字符串字符串char a5=C,h,i,n,a;a0a1a2a3a4China字符数组的初始化字符数组的初始化给字符数组的部分元素赋初值给字符数组的部分元素赋初值第十一讲第十一讲 字符串字符串char a5=C,h,i;a0a1a2a3a4Chi00缺省的初值为缺省的初值为 0字符数组的初始化字符数组的初始化给全部元素赋初值时,可以不指定长度给全部元素赋初值时,可以不指定长度字符串字符串char a =C,h,i,n,a;a0a1a2a3a4Chinachar a5=C,h,i,n,a;字符数组的初始化字符数组的初始化用字符

3、串常量给字符数组赋初值用字符串常量给字符数组赋初值字符串字符串char a = “China”;char a = “China”;char a6 = “China”;char a6 = “China”;a0a1a2a3a4a5China0来自字符串常量的来自字符串常量的结束字符结束字符 0 。字符串的输入输出字符串的输入输出字符串的输入输出有几种方式字符串的输入输出有几种方式用格式输入输出函数逐个字符输入输出用格式输入输出函数逐个字符输入输出%c用格式输入输出函数作为整体输入输出用格式输入输出函数作为整体输入输出%s用字符串输入输出函数作为整体输入输出用字符串输入输出函数作为整体输入输出get

4、s()puts()字符串字符串字符串的输入输出字符串的输入输出用用%c逐个字符的输入输出逐个字符的输入输出举例举例(cw1101.c)字符串字符串#include #define MAX 5void main() int n; char cMAX; printf(Input %d characters:n,MAX); for (n=0;nMAX;n+) scanf(%c,&cn); printf(Show the %d characters:n,MAX); for (n=0;nMAX;n+) printf(%c,cn);字符串的输入输出字符串的输入输出用用%s实现字符串作为整体一次性的输入输出

5、实现字符串作为整体一次性的输入输出举例举例(cw1102.c)字符串字符串#include #define MAX 5void main() char cMAX; printf(Input c%d:n,MAX); scanf(%s,c); printf(Show c:n); printf(%s,c);输入和输出项都是数组名输入和输出项都是数组名在输入时,在输入时,空格空格、制表符制表符和和换行符换行符都被作为字符串的分都被作为字符串的分隔符,不被读入隔符,不被读入在输出时,一旦遇到在输出时,一旦遇到 0 就结束就结束字符串的输入输出字符串的输入输出用标准库提供的字符串输入输出函数用标准库提供的

6、字符串输入输出函数举例举例(cw1103.c)字符串字符串#include #define MAX 5void main() char cMAX; printf(Input c%d:n,MAX); gets(c); printf(Show c:n); puts(c);在输入时,在输入时,换行符换行符被作为数被作为数据的分隔符,不被读入据的分隔符,不被读入但是,但是,空格空格和和制表符制表符可以被可以被读入读入puts()输出字符串后自动输出字符串后自动换行换行指针与字符串指针与字符串字符串指针字符串指针指向字符串(字符数组)字符指针。指向字符串(字符数组)字符指针。指针指针char str20

7、=“China”, *p=str;printf(“%s”, p);China0char *p=“China”;printf(“%s”, p);C语言对字符串常量是按字符数语言对字符串常量是按字符数组处理的。组处理的。char *p;p=“China”;printf(“%s”, p);China0p指针与字符串指针与字符串字符数组和指针字符数组和指针比较比较指针指针char str5= “wuhan”;char *p=“wuhan”;char *p;p=“wuhan”;char str5;str= “wuhan”;=错错对对指针与字符串指针与字符串字符数组和指针字符数组和指针比较比较指针指针ch

8、ar *p;scanf(“%s”, p);char str5, *p;p=str;scanf(“%s”, p);char str5;scanf(“%s”, str);错错对对对对在编译时为字符串数组分配内存单元,有确定的地址在编译时为字符串数组分配内存单元,有确定的地址虽然为字符指针变量分配了内存单元,但其值(地址)是虽然为字符指针变量分配了内存单元,但其值(地址)是不确定的,不可以使用不确定的,不可以使用指针与字符串指针与字符串案例分析案例分析问题:字符串的拷贝。问题:字符串的拷贝。指针指针China0Chinese0afrmbtoChina0e0bvoid strCopy(char *fr

9、m, char *to) while(*to=*frm)!=0) frm+; to+; void main() char *a=China; char *b=Chinese; strCopy(a, b); printf(%s, b);China字符和字符串标准库函数字符和字符串标准库函数字符函数:字符函数:字符串函数:字符串函数:常用的函数常用的函数strcat(字符数组名字符数组名1, 字符串字符串2)strcpy(字符数组名字符数组名1, 字符串字符串2)strcmp(字符串字符串1, 字符串字符串2)strlen(字符串字符串)strlwr(字符数组名字符数组名)strupr(字符数组名

10、字符数组名)字符串转换库:字符串转换库:把数字字符串转换成整数和浮点数把数字字符串转换成整数和浮点数字符串字符串字符串:字符串字符串:字符串数组名或者字符数组名或者字符串常量串常量案例分析(一)案例分析(一)问题问题输入一行字符,统计其中有多少个单词,单词之间用空格输入一行字符,统计其中有多少个单词,单词之间用空格隔开。隔开。分析分析逐一检测字符,遇到单词的第一个字符就计数。逐一检测字符,遇到单词的第一个字符就计数。单词的第一个字符是一个非空格字符,且其前一个字符是空格。单词的第一个字符是一个非空格字符,且其前一个字符是空格。定义一个标记变量。定义一个标记变量。记住当前字符的前一个字符(最近检

11、测的)是否是空格。记住当前字符的前一个字符(最近检测的)是否是空格。字符串字符串Iamfrom0案例分析(一)案例分析(一)设计设计定义标记变量定义标记变量 word0 最近检测的字符是空格最近检测的字符是空格期待新单词出现期待新单词出现1最近检测的字符不是空格最近检测的字符不是空格正在读单词正在读单词期待单词的结束期待单词的结束字符串字符串i=0word=0num=0(c=si)!=0c= word=0i+word=0word=1num+NYNYNY案例分析(一)案例分析(一)源代码源代码(cw1104.c)字符串字符串#include void main() char c, s81; in

12、t i, num, word; printf(Input a sentence:n); gets(s);案例分析(一)案例分析(一)源代码源代码字符串字符串 num=word=i=0; while (c=si)!=0) if (c= ) word=0; else if (word=0) word=1; num+; i+; printf(There are %d words in this sentence.n, num);扩展:扩展:输出这些单词输出这些单词统计每个单词出现的次数统计每个单词出现的次数案例分析(二)案例分析(二)问题问题编程实现编程实现strcat()函数的功能。函数的功能。任

13、意输入两个字符串,将它们连接成一个字符串。任意输入两个字符串,将它们连接成一个字符串。分析分析字符串字符串xyz0abc0str1str20案例分析(二)案例分析(二)源代码源代码(cw1105.c)字符串字符串#include void myStrcat(char str1, char str2) int i, j; for(i=0;str1i!=0;i+); for(j=0;str2j!=0;i+,j+) stri=str2j; stri=0;void main() char str1161, str281; printf(Input two strings:n); gets(str1);

14、 gets(str2); myStrcat(str1, str2); printf(nNow, you get a new string:n%sn, str1);str1的长度要足够大的长度要足够大案例分析(三)案例分析(三)问题问题输入一字符串,再输入一个字符,要求程序将字符串中该输入一字符串,再输入一个字符,要求程序将字符串中该字符删去。字符删去。分析分析字符串字符串wuhanda0wuhanda0读读写写例:删去空格例:删去空格wuhanda0读读写写案例分析(三)案例分析(三)源代码源代码(cw1106.c)字符串字符串#include void main() void delLett

15、er(char str, char c); char str81, c; printf(Input a string:n); gets(str); printf(Input a letter:n); c=getchar(); delLetter(str, c); printf(Delete all %c from the string.n, c); printf(The string:n); puts(str);案例分析(三)案例分析(三)源代码源代码字符串字符串void delLetter(char str, char c) int i, j; for (i=j=0;stri!=0;i+)if (stri!=c) strj=stri; j+; strj=0;i是读指针是读指针j是写指针是写指针小结小结C语言用字符数组来保存字符串。语言用字符数组来保存字符串。C系统提供了较多的字符和字符串标准库函数。系统提供了较多的字符和字符串标准库函数。字符串字符串

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(C语言课件(字符串).ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|