第8章字符与字符串g.ppt
《第8章字符与字符串g.ppt》由会员分享,可在线阅读,更多相关《第8章字符与字符串g.ppt(18页珍藏版)》请在三一文库上搜索。
1、第 8 章 字符与字符串,指针与字符串 字符串表示形式 用字符数组实现,例 main( ) char string=“I love China!”; printf(“%sn”,string); printf(“%sn”,string+7); ,用字符指针实现,例 main( ) char *string=“I love China!”; printf(“%sn”,string); string+=7; while(*string) putchar(string0); string+; ,字符指针初始化:把字符串首地址赋给string char *string; string=“I love C
2、hina!”;,*string!=0,字符指针变量与字符数组 char *cp; 与 char str20; str由若干元素组成,每个元素放一个字符;而cp中存放字符串首地址 char str20; str=“I love China!”; () char *cp; cp=“I love China!”; () str是地址常量;cp是地址变量 cp接受键入字符串时,必须先开辟存储空间,例 char str10; scanf(“%s”,str); () 而 char *cp; scanf(“%s”, cp); (),改为: char *cp,str10; cp=str; scanf(“%s”
3、,cp); (),字符串与数组关系 字符串用一维字符数组存放 字符数组具有一维数组的所有特点 数组名是指向数组首地址的地址常量 数组元素的引用方法可用指针法和下标法 数组名作函数参数是地址传递等 区别 存储格式:字符串结束标志 赋值方式与初始化 输入输出方式:%s %c,char str=“Hello!”; () char str=“Hello!”; () char str=H,e,l,l,o,!; () char *cp=“Hello”; () int a=1,2,3,4,5; () int *p=1,2,3,4,5; (),char str10,*cp; int a10,*p; str=“
4、Hello”; () cp=“Hello!”; () a=1,2,3,4,5; () p=1,2,3,4,5; (),scanf(“%s”,str); printf(“%s”,str); gets(str); puts(str);,字符指针: char *p; p=“I am a student.”; 定义字符数组时,在编译时为数组分配内存。而定义一个指向字符的指针变量,则只分配一个存放指针变量的内存,指针变量“必须初始化后才能使用”。 char str10; scanf(“%s”,str); char *p; scanf(“%s”,p);,char *p; p=(char*)malloc(2
5、0); scanf(“%s”,p); free(p);,stdlib.h,1 .字符串拷贝函数strcpy() a) char *strcpy(char *s1, char *s2); 功能: 将s2所指向的字符串复制到s1所指向的字符数组中,然后返回s1的地址值。 eg. char *strcpy( *s1, *s2) char *s1, *s2; char *p,*q; p=s1;q=s2; while (*p+=*q+); return s1; ,2. 字符串连接函数strcat() a) char *strcat(char *s1, char *s2); 功能: 将s2字符串添加到s1
6、字符串的后面,然后返回s1的地址值。 eg. char *strcat( *s1, *s2) char *s1, *s2; char *p=s1; while (*p!=0) p+; while (*p+=*s2+); return s1; ,3. 字符串比较函数strcmp() a) int strcmp(char *s1, char *s2); 功能:比较两个字符串大小.返回值为0,则串1=串2.返回值为正数,则串1串2.返回值为负数,则串1串2. eg. strcmp(char *s1, char *s2) while (*s1=*s2) if(*s1=0) return 0; s1+;
7、 s2+; return (*s1-*s2); ,(例)下列程序的输出结果是 main( ) char *p1,*p2,str50=“xyz“; p1=“abcd“; p2=“ABCD“; strcpy(str+2,strcat(p1+2,p2+1); printf(“%s“,str); A)xyabcAB B)abcABz C)ABabcz D)xycdBCD,函数库为ctype.h int isalpha(int ch) 若ch是字母(A-Z,a-z)返回非0值,否则返回0 int isalnum(int ch) 若ch是字母(A-Z,a-z)或数字(0-9) 返回非0值,否则返回0 in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 字符 字符串
链接地址:https://www.31doc.com/p-2257925.html