strcat和strcpy函数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

长沙市中等职业业备课用纸

puts(st1);

}

结果:

本程序把初始化赋值的字符数组st1与动态赋值的字符串st2连接起来。

连接前后的状态:

4、使用strcat函数还应注意:

字符数组1应定义足够的长度,否则不能全部装入被连接的字符串。

(二)、字符串复制函数strcpy

1、格式:strcpy (字符数组名1,字符数组名2)

2、功能:把字符数组2中的字符串复制到字符数组1中。串结束标志“\0”也一同复制。字符数组名2,也可以是一个字符串常量。这时相当于把一个字符串赋予一个字符数组。

3、例:写出下列程序的功能:

#include"string.h"

main()

{ char st1[20]="012345678901234",st2[]="C Language";

strcpy(st1,st2);

puts(st1);printf("\n");

}

结果:

复制前后的状态:

4、使用strcpy函数还应注意:

①字符数组1应定义足够的长度,否则不能全部装入被连接的字符串。

②结束标志“\0”也一同复制。

③字符数组名2,也可以是一个字符串常量。相当于把一个字符串赋予一个字符数组。

④不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。如下面两行都是不合法的:

str1=″China″;

str1=str2;

而只能用strcpy函数将一个字符串复制到另一个字符数组中去。

三、课堂练习:写出下列程序运行的结果

#include

main()

{int i;

char a[]="Time",b[]="Tom";

for(i=0;a[i]!='\0'&&b[i]!='\0';i++)

if(a[i]==b[i])

if(a[i]>='a'&&b[i]<='z')

printf("%c",a[i]-32);

else

printf("%c",a[i]+32);

else

printf("*");

}

结果:

2、练习:设计程序,实现strcpy函数的功能

#include

main()

{

int i=0;

char str1[100],str2[100];

printf("String1:");

gets(str1);

printf("String2:");

gets(str2);

while(str2[i]!='\0')

{str1[i]=str2[i];

i=i+1;}

str1[i]='\0';/*给str1打上新的结束标志*/ printf("str1=%s,str2=%s\n",str1,str2);

}

结果:

3、练习:设计程序,实现strcat函数的功能

#include

main()

{

char str1[100],str2[100];

int i,j;

printf("String1:");

gets(str1);

printf("String2:");

gets(str2);

for(i=0;str1[i]!='\0';i++) ;/*统计str1中的字符个数,退出循环后,i比下标多1*/

for(j=0;str2[j]!='\0';j++)

{str1[i]=str2[j];

i++;}

str1[i]='\0'; /*给str1补上结束标志*/

printf("Append String:");

puts(str1);

}

结果:

四、课堂小结:

五、布置作业:

1、预习字符串比较、求长度函数。

2、设计程序:输出10行杨辉三角形。

相关文档
最新文档