C语言ppt课件(字符串)

上传人:txadgkn****dgknqu... 文档编号:240942629 上传时间:2024-05-19 格式:PPT 页数:27 大小:239.96KB
返回 下载 相关 举报
C语言ppt课件(字符串)_第1页
第1页 / 共27页
C语言ppt课件(字符串)_第2页
第2页 / 共27页
C语言ppt课件(字符串)_第3页
第3页 / 共27页
点击查看更多>>
资源描述
字符串字符串字符串字符串字符串字符串与字符数组字符串与字符数组字符数组的定义和初始化字符数组的定义和初始化字符串的输入与输出字符串的输入与输出指针与字符串指针与字符串程序设计举例程序设计举例C C语言程序设计语言程序设计字符串字符串与字符数组C语言程序设计简介简介字符串与字符数组字符串与字符数组在在C语言中,字符串是存储在字符数组中并用空字符语言中,字符串是存储在字符数组中并用空字符(0)结束的字符序列。)结束的字符序列。字符串字符串char name20;char names3020;name字符串名,字符串名,即字符数组即字符数组名,就是该名,就是该字符数组第字符数组第一个元素的一个元素的地址地址name0name1name19简介字符串与字符数组字符串char name20;na字符数组的初始化字符数组的初始化给字符数组的全部元素赋初值给字符数组的全部元素赋初值字符串字符串char a5=C,h,i,n,a;a0a1a2a3a4China字符数组的初始化给字符数组的全部元素赋初值字符串char a字符数组的初始化字符数组的初始化给字符数组的部分元素赋初值给字符数组的部分元素赋初值第十一讲第十一讲 字符串字符串char a5=C,h,i;a0a1a2a3a4Chi00缺省的初值为缺省的初值为 0字符数组的初始化给字符数组的部分元素赋初值第十一讲 字符串c字符数组的初始化字符数组的初始化给全部元素赋初值时,可以不指定长度给全部元素赋初值时,可以不指定长度字符串字符串char a=C,h,i,n,a;a0a1a2a3a4Chinachar a5=C,h,i,n,a;字符数组的初始化给全部元素赋初值时,可以不指定长度字符串ch字符数组的初始化字符数组的初始化用字符串常量给字符数组赋初值用字符串常量给字符数组赋初值字符串字符串char a =“China”;char a =“China”;char a6=“China”;char a6=“China”;a0a1a2a3a4a5China0来自字符串常量的来自字符串常量的结束字符结束字符 0。字符数组的初始化用字符串常量给字符数组赋初值字符串char 字符串的输入输出字符串的输入输出字符串的输入输出有几种方式字符串的输入输出有几种方式用格式输入输出函数逐个字符输入输出用格式输入输出函数逐个字符输入输出%c用格式输入输出函数作为整体输入输出用格式输入输出函数作为整体输入输出%s用字符串输入输出函数作为整体输入输出用字符串输入输出函数作为整体输入输出gets()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);字符串的输入输出用%c逐个字符的输入输出字符串#includ字符串的输入输出字符串的输入输出用用%s实现字符串作为整体一次性的输入输出实现字符串作为整体一次性的输入输出举例举例(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 就结束就结束字符串的输入输出用%s实现字符串作为整体一次性的输入输出字符字符串的输入输出字符串的输入输出用标准库提供的字符串输入输出函数用标准库提供的字符串输入输出函数举例举例(cw1103.c)字符串字符串#include#define MAX 5void main()char cMAX;printf(Input c%d:n,MAX);gets(c);printf(Show c:n);puts(c);在输入时,在输入时,换行符换行符被作为数被作为数据的分隔符,不被读入据的分隔符,不被读入但是,但是,空格空格和和制表符制表符可以被可以被读入读入puts()输出字符串后自动输出字符串后自动换行换行字符串的输入输出用标准库提供的字符串输入输出函数字符串#in指针与字符串指针与字符串字符串指针字符串指针指向字符串(字符数组)字符指针。指向字符串(字符数组)字符指针。指针指针char str20=“China”,*p=str;printf(“%s”,p);China0char*p=“China”;printf(“%s”,p);C语言对字符串常量是按字符数语言对字符串常量是按字符数组处理的。组处理的。char*p;p=“China”;printf(“%s”,p);China0p指针与字符串字符串指针指针char str20=“Chi指针与字符串指针与字符串字符数组和指针字符数组和指针比较比较指针指针char str5=“wuhan”;char*p=“wuhan”;char*p;p=“wuhan”;char str5;str=“wuhan”;=错错对对指针与字符串字符数组和指针指针char str5=“w指针与字符串指针与字符串字符数组和指针字符数组和指针比较比较指针指针char*p;scanf(“%s”,p);char str5,*p;p=str;scanf(“%s”,p);char str5;scanf(“%s”,str);错错对对对对在编译时为字符串数组分配内存单元,有确定的地址在编译时为字符串数组分配内存单元,有确定的地址虽然为字符指针变量分配了内存单元,但其值(地址)是虽然为字符指针变量分配了内存单元,但其值(地址)是不确定的,不可以使用不确定的,不可以使用指针与字符串字符数组和指针指针char*p;char st指针与字符串指针与字符串案例分析案例分析问题:字符串的拷贝。问题:字符串的拷贝。指针指针China0Chinese0afrmbtoChina0e0bvoid strCopy(char*frm,char*to)while(*to=*frm)!=0)frm+;to+;void main()char*a=China;char*b=Chinese;strCopy(a,b);printf(%s,b);China指针与字符串案例分析指针China0Chinese0af字符和字符串标准库函数字符和字符串标准库函数字符函数:字符函数:字符串函数:字符串函数:常用的函数常用的函数strcat(字符数组名字符数组名1,字符串字符串2)strcpy(字符数组名字符数组名1,字符串字符串2)strcmp(字符串字符串1,字符串字符串2)strlen(字符串字符串)strlwr(字符数组名字符数组名)strupr(字符数组名字符数组名)字符串转换库:字符串转换库:把数字字符串转换成整数和浮点数把数字字符串转换成整数和浮点数字符串字符串字符串:字符串字符串:字符串数组名或者字符数组名或者字符串常量串常量字符和字符串标准库函数字符函数:字符串字符案例分析(一)案例分析(一)问题问题输入一行字符,统计其中有多少个单词,单词之间用空格输入一行字符,统计其中有多少个单词,单词之间用空格隔开。隔开。分析分析逐一检测字符,遇到单词的第一个字符就计数。逐一检测字符,遇到单词的第一个字符就计数。单词的第一个字符是一个非空格字符,且其前一个字符是空格。单词的第一个字符是一个非空格字符,且其前一个字符是空格。定义一个标记变量。定义一个标记变量。记住当前字符的前一个字符(最近检测的)是否是空格。记住当前字符的前一个字符(最近检测的)是否是空格。字符串字符串Iamfrom0案例分析(一)问题字符串Iamfrom0案例分析(一)案例分析(一)设计设计定义标记变量定义标记变量 word0 最近检测的字符是空格最近检测的字符是空格期待新单词出现期待新单词出现1最近检测的字符不是空格最近检测的字符不是空格正在读单词正在读单词期待单词的结束期待单词的结束字符串字符串i=0word=0num=0(c=si)!=0c=word=0i+word=0word=1num+NYNYNY案例分析(一)设计字符串i=0(c=si)!=0c案例分析(一)案例分析(一)源代码源代码(cw1104.c)字符串字符串#include void main()char c,s81;int i,num,word;printf(Input a sentence:n);gets(s);案例分析(一)源代码(cw1104.c)字符串#includ案例分析(一)案例分析(一)源代码源代码字符串字符串 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);扩展:扩展:输出这些单词输出这些单词统计每个单词出现的次数统计每个单词出现的次数案例分析(一)源代码字符串 num=word=i=0;扩展案例分析(二)案例分析(二)问题问题编程实现编程实现strcat()函数的功能。函数的功能。任意输入两个字符串,将它们连接成一个字符串。任意输入两个字符串,将它们连接成一个字符串。分析分析字符串字符串xyz0abc0str1str20案例分析(二)问题字符串xyz0abc0str1str2案例分析(二)案例分析(二)源代码源代码(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);gets(str2);myStrcat(str1,str2);printf(nNow,you get a new string:n%sn,str1);str1的长度要足够大的长度要足够大案例分析(二)源代码(cw1105.c)字符串#includ案例分析(三)案例分析(三)问题问题输入一字符串,再输入一个字符,要求程序将字符串中该输入一字符串,再输入一个字符,要求程序将字符串中该字符删去。字符删去。分析分析字符串字符串wuhanda0wuhanda0读读写写例:删去空格例:删去空格wuhanda0读读写写案例分析(三)问题字符串wuhanda0wuhanda0案例分析(三)案例分析(三)源代码源代码(cw1106.c)字符串字符串#include void main()void delLetter(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);案例分析(三)源代码(cw1106.c)字符串#includ案例分析(三)案例分析(三)源代码源代码字符串字符串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是写指针是写指针案例分析(三)源代码字符串void delLetter(ch小结小结C语言用字符数组来保存字符串。语言用字符数组来保存字符串。C系统提供了较多的字符和字符串标准库函数。系统提供了较多的字符和字符串标准库函数。字符串字符串小结C语言用字符数组来保存字符串。字符串C语言ppt课件(字符串)
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!