《第9章 字符和字符串.ppt》由会员分享,可在线阅读,更多相关《第9章 字符和字符串.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第八章 字符和字符串本章目标1.进一步分清字符和字符串的特性2.了解字符处理函数和字符串处理函数3.熟悉两个函数库:stdlib.h和string.h4.进一步掌握使用函数来设计程序第八章 字符和字符串 字符和字符串处理函数的主要用途:设计编辑器设计字处理器设计排版文字处理器设计转换程序9.1 引言第八章 字符和字符串一、字符串的特点回顾:char ch;ch 为字符变量char a10;a 为字符数组字符串是一个特殊的数组在数组中有一个空字符0 来作为字符数组的结束通过访问数组名来访问字符串 字符串可用指向字符串的指针来访问9.2 字符和字符串第八章 字符和字符串二、关于字符、字符数组、字符
2、串指针的几种说明char ch;ch 为字符变量char a=s,t,u,d,e,n,t;a 为字符数组长度为7char b=student;b为字符数组,长度为8b也可作为字符串名char*ptr=student;ptr 为指向字符或字符串的指针第八章 字符和字符串三、关于字符串指针例:#include main()char p;char s=I am a student!;p=s;printf(p=%s,p);形式 char 标识符;运行结果为:p=I am a student!1.字符串指针的定义表示p为指针变量,可指向一个字符串的首地址。如:char*p;第八章 字符和字符串可以在定义
3、的时候赋初值:main()char p=I am a student!;或者:main()char p;p=I am a student!;则:p代表 I(p+3)代表mpIamastudend0第八章 字符和字符串1.“”一个串名代表示该串的首地址2.在输入(scanf)和输出(printf)中,也可用%s将整个串一次输入/输出3.不能字符数组整体赋值,char a8;a8=stident;错误结果注意:第八章 字符和字符串例:将字符串a复制到字符串b 1)main()char a=I am a teacher!;char b20;int i;for(i=0;(a+i)!=0;i+)(b+i
4、)=(a+i);(b+i)=0;1)用字符数组实现第八章 字符和字符串printf(string a is:%sn,a);printf(string b is:);for(i=0;bi=0;i+)printf(%c,bi);printf(n);等价于:printf(string b is:%sn,b);第八章 字符和字符串 string a is:I am a teacher!string b is:I am a teacher!第八章 字符和字符串main()char a=I am a teacher!;char b20,p1,p2;p1=a;p2=b;for(;p1!=0;p1+,p2+)
5、p2=p1;p2=0;p1=a;p2=b;printf(string a is:%sn,p1);printf(string b is:%sn,p2);2)用指针变量实现第八章 字符和字符串 string a is:I am a teacher!string b is:I am a teacher!第八章 字符和字符串对上面的程序作如下改变:main()请思考:char a=I am a teacher;char b20,*p1,*p2;p1=a;p2=b;p2=p1;则 b数组中的内容是否已复制了a数组中的内容第八章 字符和字符串结 论 p1=a;p2=a;p1a;p2b;p1a;p2 p2=
6、p1 后;b第八章 字符和字符串2.字符串指针作函数参数例:用函数调用实现字符串的复制 与数值变量指针一样,字符串指针,字符串数组均可作为函数参数作用:可在函数中改变实参内容。toi=fromi;i+toi=0;main()char a=I am a teacher;char b=You are a student;printf(string_a=%sn string_b=%sn,a,b);copy_string(a,b);printf(n string_a=%sn string_b=%sn,a,b)void copy_string(from,to)char from,to;int i=0;while(fromi!=0)方法:(1)字符数组作参数