文档详情

字符数组与字符串.ppt

发布:2025-03-28约4.28千字共10页下载文档
文本预览下载声明

*上讲回顾数组的概念数组的定义数组的初始化数组元素的引用一、字符数组*1.字符数组的定义定义方法与前面介绍的数值型数组的定义类似。例如:charc[10];2.字符数组的初始化初始化的方法与前面介绍的数值型数组的初始化类似。例如:charc[10]={‘I’,’a’,’m’,’h’,’a’,’p’,’p’,’y’}//可逐个字符赋给数组中各元素,不足的地方自动定为空字符3.字符数组的引用*例7.6输出一个字符串。程序如下:#includestdio.hvoidmain(){charc[10]={’I’,’’,’a’,’m’,’’,’a’,’’,’b’,’o’,′y′};inti;for(i=0;i10;i++)printf(″%c″,c[i]);printf(″\n″);}运行结果:Iamaboy4.字符串和字符串结束标志*为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”——‘\0’。字符数组并不要求它的最后一个字符为′\0′,甚至可以不包含′\0′。′\0′由系统自动添加。例如:charc[5]={′C′,′h′,′i′,′n′,′a′};在C中,字符串是通过字符数组来存储的5.字符串(字符数组)的输入输出*字符数组的输入输出可以有两种方法:逐个字符输入输出。用格式符“%c”输入或输出一个字符。将整个字符串一次输入或输出。用“%s”格式符,意思是对字符串的输入输出。charc[]={″China″};printf(″%s″,c);例如说明*01数组名表示数组的首地址;用“%s”格式符输出字符串时,printf函数中的输出项是字符数组名,而不是数组元素名。02如果数组长度大于字符串实际长度,也只输出到遇′\0′结束。0304输出字符不包括结束符′\0′。、如果一个字符数组中包含一个以上′\0′,则遇第一个′\0′时输出就结束。056.字符串处理函数*puts函数字符串的输出其一般形式为:puts(字符数组)其作用是将一个字符串(以′\0′结束的字符序列)输出到终端。假如已定义str是一个字符数组名,且该数组已被初始化为China。则执行puts(str);其结果是在终端上输出China。字符数组名(代表字符串的首地址)字符数组名(代表字符串的首地址)gets函数字符串的输入其一般形式为:gets(字符数组)其作用是从终端输入一个字符串到字符数组,并且得到一个函数值。该函数值是字符数组的起始地址。如执行下面的函数:gets(str)从键盘输入:Computer↙将输入的字符串Computer送给字符数组str注意用puts和gets函数只能输入或输出一个字符串,不能写成puts(str1,str2)或gets(str1,str2)//例:gets,puts01#includestdio.h02voidmain()03{04charstr[30];//定义一字符数组05gets(str);//得到一字符串06puts(str);//输出字符串07}08strcat函数字符串的连接01其一般形式为:strcat(字符数组1,字符数组2)02strcat的作用是连接两个字符数组中的字符串,把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值——字符数组1的地址。03//例:strcat#includestdio.hvoidmain(){ charstr1[30],str2[20]; puts(pleaseintputthestring1:); gets(str1); puts(pleaseintputthestring2:); gets(str2); strcat(str1,str2); puts(Thefinalstringis:); puts(str1);}strcpy函数字符串的复制01其一般形式为:strcpy(字符数组1,字符串2)02strcpy是“字符串复制函数”。作用是将字符串2复制到字符数组1中去。例如:03charstr1[10],str2[]={″China″};04strcpy(str1,str2);05关于strcpy函数的几点说明*字符数组1必须定义得足够大,以便容纳被复制的字符串。字符数组1的长度不应小于字符串2的长度。“字符数组1”必须写成数组名形式(如str1),“字符

显示全部
相似文档