字符数组与字符串.ppt
《字符数组与字符串.ppt》由会员分享,可在线阅读,更多相关《字符数组与字符串.ppt(31页珍藏版)》请在三一办公上搜索。
1、1,上讲回顾,数组的概念数组的定义数组的初始化数组元素的引用,2,一、字符数组,1.字符数组的定义,定义方法与前面介绍的数值型数组的定义类似。例如:char c10;,2.字符数组的初始化,初始化的方法与前面介绍的数值型数组的初始化类似。例如:char c10=I,a,m,h,a,p,p,y/可逐个字符赋给数组中各元素,不足的地方自动定为空字符,3,3.字符数组的引用,例7.6 输出一个字符串。,程序如下:#include void main()char c10=I,a,m,a,b,o,y;int i;for(i=0;i10;i+)printf(%c,ci);printf(n);,运行结果:I
2、 am a boy,4,4.字符串和字符串结束标志,为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”0。,字符数组并不要求它的最后一个字符为0,甚至可以不包含0。0 由系统自动添加。例如:char c5=C,h,i,n,a;,在C中,字符串是通过字符数组来存储的,5,5.字符串(字符数组)的输入输出,字符数组的输入输出可以有两种方法:逐个字符输入输出。用格式符“%c”输入或输出一个字符。将整个字符串一次输入或输出。用“%s”格式符,意思是对字符串的输入输出。,char c=China;printf(%s,c);,例如,6,说明数组名表示数组的首地址;用“%s”格式符输出字符串时,p
3、rintf函数中的输出项是字符数组名,而不是数组元素名。如果数组长度大于字符串实际长度,也只输出到遇0结束。输出字符不包括结束符0。、如果一个字符数组中包含一个以上0,则遇第一个0时输出就结束。,7,puts函数 字符串的输出其一般形式为:puts(字符数组)其作用是将一个字符串(以0结束的字符序列)输出到终端。假如已定义str是一个字符数组名,且该数组已被初始化为China。则执行puts(str);其结果是在终端上输出China。,6.字符串处理函数,字符数组名(代表字符串的首地址),8,gets函数 字符串的输入其一般形式为:gets(字符数组)其作用是从终端输入一个字符串到字符数组,并
4、且得到一个函数值。该函数值是字符数组的起始地址。如执行下面的函数:gets(str)从键盘输入:Computer将输入的字符串Computer送给字符数组str,字符数组名(代表字符串的首地址),9,注意 用puts和gets函数只能输入或输出一个字符串,不能写成puts(str1,str2)或 gets(str1,str2),10,/例:gets,puts#includevoid main()char str30;/定义一字符数组gets(str);/得到一字符串puts(str);/输出字符串,11,strcat函数 字符串的连接其一般形式为:strcat(字符数组1,字符数组2)strc
5、at的作用是连接两个字符数组中的字符串,把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值字符数组1的地址。,12,/例:strcat#includevoid main()char str130,str220;puts(please intput the string1:);gets(str1);puts(please intput the string2:);gets(str2);strcat(str1,str2);puts(The final string is:);puts(str1);,13,strcpy函数 字符串的复制其一般形式为:strcpy(字符数组1
6、,字符串2)strcpy是“字符串复制函数”。作用是将字符串2复制到字符数组1中去。例如:char str110,str2=China;strcpy(str1,str2);,14,关于strcpy函数的几点说明,字符数组1必须定义得足够大,以便容纳被复制的字符串。字符数组1的长度不应小于字符串2的长度。,“字符数组1”必须写成数组名形式(如str1),“字符串2”可以是字符数组名,也可以是一个字符串常量。如strcpy(str1,China);,复制时连同字符串后面的0一起复制到字符数组1中。,可以用strncpy函数将字符串2中前面若干个字符复制到字符数组1中去。例如:strncpy(str
7、1,str2,2);作用是将str2中前面2个字符复制到str1中去,然后再加一个0。,15,例:/strcpy#includevoid main()char str130,str220;puts(please intput the string:);gets(str2);/得到字符串str2strcpy(str1,str2);/将str2复制到str1中puts(The string1 is:);puts(str1);/输出str1,16,/strncpy#includevoid main()char str130,str220;puts(please intput the string1:
8、);gets(str1);puts(please intput the string2:);gets(str2);strncpy(str1,str2,3);/将str2的前3个字符替代str1的前三个字符puts(The string1 is:);puts(str1);,17,strcmp函数 其一般形式为:strcmp(字符串1,字符串2)strcmp的作用是比较字符串1和字符串2。例如:strcmp(str1,str2);strcmp(China,Korea);strcmp(str1,Beijing);,18,比较的结果由函数值带回(1)如果字符串1=字符串2,函数值为0。(2)如果字符串
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 字符 数组 字符串
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4971878.html