1 / 12
文档名称:

15字符串与字符串函数.ppt

格式:ppt   页数:12
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

15字符串与字符串函数.ppt

上传人:yunde113 2014/1/28 文件大小:0 KB

下载得到文件列表

15字符串与字符串函数.ppt

文档介绍

文档介绍:字符串及字符串函数
字符串
字符串及其结束标志
无字符串变量,用字符数组处理字符串
字符串结束标志:‘\0’
例 char ch[6]={“Hello”};
char ch[6]=“Hello”;
char ch[]=“Hello”;
用字符串常量
ch[0]
H
e
l
l
o
ch[1]
ch[2]
ch[3]
ch[4]
\0
ch[5]
例 char ch[5]=“Boy”;
ch[0]
B
o
y
\0
\0
用字符串常量
ch[1]
ch[2]
ch[3]
ch[4]
字符串的输入输出
逐个字符I/O: %c
整个字符串I/O: %s
字符串输入函数:
scanf函数: char st[10];
scanf(“%s”,st);
说明:
(1)字符串输入时无须加取地址符“&”,直接使用字符数组名即可;
(2)scanf遇到空格、跳格符或回车符就认为字符串结束。
gets函数: char st[10];
gets(st);
说明:
(1 )gets函数输入时,只有遇到回车符才认为字符串结束。
字符串输出函数:
printf函数: printf(“%s”,st);
说明:
(1)输出“\0”前所有字符,输出后不自动换行。
puts函数: gets(st);
说明:
(1 )输出“\0”前所有字符,输出后自动换行。
注:使用gets和puts,必须包含头文件
例 main( )
{ char a[5]={‘H’,’e’,’l’,’l’,’o’};
printf(“%s”,a);
}
例 main( )
{ char a[]=“Hello”;
// char a[6]=“Hello”;
printf(“%s”,a);
}
结果:Hello#-=*
h e l l o
0
2
3
1
4
结果:Hello
用“%s”输出时,遇‘\0’结束
main()
{
char a[]={'h','e','l','\0','l','o','\0'};
printf("%s",a);
}

输出:hel
h e l \0 l o \0
数组中有多个‘\0’时,
遇第一个结束
例字符串输入举例
H o w \0
a r e \0
y o u ? \0
#include <>
main()
{ char a[15],b[5],c[5];
scanf("%s%s%s",a,b,c);
printf("a=%s\nb=%s\nc=%s\n",a,b,c);
scanf("%s",a);
printf("a=%s\n",a);
}
运行情况:
输入:How are you?
输出:a=How
b=are
c=you?
输入:How are you?
输出:a=How
scanf中%s输入时,遇空格或回车结束
运行情况:
输入:How are you?
字符串连接函数strcat
格式:strcat(字符数组1,字符数组2)
功能:把字符数组2连到字符数组1后面
返值:返回字符数组1的首地址
说明:字符数组1必须足够大
连接前,两串均以‘\0’结束;连接后,串1的‘\0’取消,
新串最后加‘\0’
字符串拷贝函数strcpy
格式:strcpy(字符数组1,字符串2)
功能:将字符串2,拷贝到字符数组1中去
返值:返回字符数组1的首地址
说明:字符数组1必须足够大
拷贝时‘\0’一同拷贝
不能使用赋值语句为一个字符数组赋值
例 char str1[20],str2[20];
str1={“Hello!”}; ()
str2=str1; ()
其他字符串处理函数:必须包含头文件
例 strcpy与strcat举例
#include <>
#include <>
void main()
{ char destination[25];
char blank[] = " ", c[]= "C++",
turbo[] = "Turbo";
strcpy(destination, turbo);
strcat(destination, blank);
strcat(destination, c);
printf("%s\n", destination);
}
Turbo C++
T
r
b
o
C
+
+
0
1
2
3
4
5
6
7
8
9
u
\0
24
…….
T
r
b
o
0
1
2
3
4
5
6
7
8