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

上传人:小飞机 文档编号:3876535 上传时间:2023-03-26 格式:PPT 页数:27 大小:321.51KB
返回 下载 相关 举报
C语言ppt课件(字符串).ppt_第1页
第1页 / 共27页
C语言ppt课件(字符串).ppt_第2页
第2页 / 共27页
C语言ppt课件(字符串).ppt_第3页
第3页 / 共27页
C语言ppt课件(字符串).ppt_第4页
第4页 / 共27页
C语言ppt课件(字符串).ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《C语言ppt课件(字符串).ppt》由会员分享,可在线阅读,更多相关《C语言ppt课件(字符串).ppt(27页珍藏版)》请在三一办公上搜索。

1、字符串,字符串,字符串与字符数组字符数组的定义和初始化字符串的输入与输出指针与字符串程序设计举例,C语言程序设计,简介,字符串与字符数组在C语言中,字符串是存储在字符数组中并用空字符(0)结束的字符序列。,字符串,char name20;char names3020;,name,字符串名,即字符数组名,就是该字符数组第一个元素的地址,字符数组的初始化,给字符数组的全部元素赋初值,字符串,char a5=C,h,i,n,a;,字符数组的初始化,给字符数组的部分元素赋初值,第十一讲 字符串,char a5=C,h,i;,缺省的初值为 0,字符数组的初始化,给全部元素赋初值时,可以不指定长度,字符串

2、,char a=C,h,i,n,a;,char a5=C,h,i,n,a;,字符数组的初始化,用字符串常量给字符数组赋初值,字符串,char a=“China”;,char a=“China”;,char a6=“China”;,char a6=“China”;,来自字符串常量的结束字符 0。,字符串的输入输出,字符串的输入输出有几种方式用格式输入输出函数逐个字符输入输出%c用格式输入输出函数作为整体输入输出%s用字符串输入输出函数作为整体输入输出gets()puts(),字符串,字符串的输入输出,用%c逐个字符的输入输出举例(cw1101.c),字符串,#include#define MAX

3、 5void main()int n;char cMAX;printf(Input%d characters:n,MAX);for(n=0;nMAX;n+)scanf(%c,字符串的输入输出,用%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 就结束,

4、字符串的输入输出,用标准库提供的字符串输入输出函数举例(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=“China”,*p=str;printf(“%s”,p);,char*p=“China”;printf(“%s”,p);,

5、C语言对字符串常量是按字符数组处理的。,char*p;p=“China”;printf(“%s”,p);,指针与字符串,字符数组和指针比较,指针,char str5=“wuhan”;,char*p=“wuhan”;,char*p;p=“wuhan”;,char str5;str=“wuhan”;,=,错,对,指针与字符串,字符数组和指针比较,指针,char*p;scanf(“%s”,p);,char str5,*p;p=str;scanf(“%s”,p);,char str5;scanf(“%s”,str);,错,对,对,在编译时为字符串数组分配内存单元,有确定的地址虽然为字符指针变量分配了内

6、存单元,但其值(地址)是不确定的,不可以使用,指针与字符串,案例分析问题:字符串的拷贝。,指针,void 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,字符和字符串标准库函数,字符函数:字符串函数:常用的函数strcat(字符数组名1,字符串2)strcpy(字符数组名1,字符串2)strcmp(字符串1,字符串2)strlen(字符串)strlwr(字符数组名)strupr(字符数组名)字符

7、串转换库:把数字字符串转换成整数和浮点数,字符串,字符串:字符串数组名或者字符串常量,案例分析(一),问题输入一行字符,统计其中有多少个单词,单词之间用空格隔开。分析逐一检测字符,遇到单词的第一个字符就计数。单词的第一个字符是一个非空格字符,且其前一个字符是空格。定义一个标记变量。记住当前字符的前一个字符(最近检测的)是否是空格。,字符串,案例分析(一),设计定义标记变量 word0 最近检测的字符是空格期待新单词出现1最近检测的字符不是空格正在读单词期待单词的结束,字符串,案例分析(一),源代码(cw1104.c),字符串,#include void main()char c,s81;int

8、 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()函数的功能。任意输入两个字符串,将它们连接成一个字符串。分析,字符串,str1,str2,0,案例分析(二),源代码(cw1105.c),字符串

9、,#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的长度要足够大,案例分析(三),问题输入一字符串,再输入一个字符,要求程

10、序将字符串中该字符删去。分析,字符串,读,写,例:删去空格,案例分析(三),源代码(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);,案例分析(三),源代码,字符串,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系统提供了较多的字符和字符串标准库函数。,字符串,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号