资源描述:
《c语言二级考试重点第10章字符串.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、考点:1.用一维字符数组存放字符串2.用指针指向字符串3.字符串数组4.字符串的输入和输出5.用于字符串处理的函数第十章字符串考点11.用一维字符数组存放字符串(1)表示字符串常量的约定字符串常量是由“”括起来的一串字符。在表示字符串时,我们不需要在其末尾加入’ ’作为结束标志,系统会自动完成。(2)字符串常量给出的是地址值字符数组的例子字符数组的例子Charstr[10]={‘s’,’t’,’r’,’I’,’n’,’g’,’!’};当charstr[]={‘s’,’t’,’r’,’I’,’n’,’g’,’!’,’ ’};在[]没有定义长度时,赋值需要加‘ ’作
2、为结束标志。否则,不能把str作为字符串使用。2.用一维数组存放字符串Eg.Charstr[]=“string!”;gets(str)//直接获得一个字符串Printf(“%s”,str);3.用指针指向一个字符串Eg.char*sp=“string!”;#include#includevoidmain(){//charstr[]="string!";//char*sp;//sp=str;//printf("%s",sp);char*sp="string!";printf("%s",sp);}#include#i
3、ncludevoidmain(){chars[]="aeiou",*ps=s;printf("%c",*ps+4);}输出结果为:e因为指针指向的首字母是’a’,*ps+4的含义是:字母a的ascII码加4,此时对应的字母就是e#include#includevoidmain(){chars[]="aeiou",*ps=s;printf("%c",*(ps+4));}输出结果为:u因为指针指向的首字母是’a’,*(ps+4)的含义是取出数组s[4]这个元素。#include#inclu
4、deintfun(char*s){char*t;t=s;while(*t++);return(t-s);}voidmain(){chars[]="aeiou";printf("%d",fun(s));}考点3字符串的输入输出gets(str)//输入puts(str)//输出//参数str是一个字符串charstr[20];printf(“%c”…);printf(“%s”…);考点4Eg1.charname[10][80]2.chars[3][5]={“A”,”aB”,”abc”};<>字符数组怎样定义字符数组字符数组就是数据类型为“char”的
5、数组。定义例charc[10],ch[3][4];和前面所讲的数组相同,逐个字符赋值例charch[]={‘H’,‘e’,‘l’,‘l’,‘o’};ch[0]Hello逐个字符赋值ch[1]ch[2]ch[3]ch[4]例charch[5]={‘B’,‘o’,‘y’};ch[0]Boy 逐个字符赋值ch[1]ch[2]ch[3]ch[4]用字符串常量例charch[5]=“Boy”;ch[0]Boy 字符串常量赋值ch[1]ch[2]ch[3]ch[4]字符数组的初始化<>怎样引用字符数组中的元素例:从键盘输入一行字符,存放在字符数组中,然后逆序输出。ma
6、in(){chara[80],c;intk=0,j;printf(“pleaseinputthechars:”);scanf(“%c”,&c);while(c!=‘')/*输入字符序列输入字符为回车时结束*/{a[k++]=c;scanf(“%c”,&c);}printf(“”);for(j=k-1;j>=0;j--)/*逆序输出字符序列*/printf(“%c”,a[j]);}<>字符串和字符串结束标志字符串是作为一个整体对待的字符序列。在C语言中,没有字符串这种数据类型,因此可以将字符串存放在字符数组中。这是处理字符串的方法之一。在用字符数组存放字符串
7、时,字符数组必须预先设定足够的长,在足够长的情况下我们一般并不关心数组的具体长度,而是关心有效字符的长度。对于字符串,并不显式的保存它的长度,而是用字符串结束标志来表示字符串到此结束,隐含着字符串的长度,字符串结束标志也就是前面所介绍的空字符' '。例charch[6]={“Hello”};charch[6]=“Hello”;charch[]=“Hello”;用字符串常量ch[0]Helloch[1]ch[2]ch[3]ch[4] ch[5]例charch[5]=“Boy”;ch[0]Boy 用字符串常量ch[1]ch[2]ch[3]ch[