1.输入:
(1)scanf()
%s : 一串整个读入
%c : 一个一个读入
char a[10];
scanf("%s",a);
格式:不加 & ,以回车或空格作为输入结束符,自动在末尾补上'\0' ,所以无法将包含空格的字符串读入。
(2)getchar()
只能输入一个字符,以'\0'作为结束标志符
char a[10];
int i=0;
while((a[i]=getchar())!='\n')
i++;
a[i]='\0';
2.输出
(1)printf()
printf("%s",a); //第一种
printf("%c",a[i]); //第二种
(2)putchar()
int i=0;
while(a[i]!='\0')
{
putchar(a[i]);
i++;
}
3.函数
字符串包含在文件 #include<string.h>中
(1)gets()----输入字符串
char a[10];
gets(a);
(2)puts()----输出字符串
char a[10];
gets(a);
puts(a);
(3)strcat(字符数组1,字符数组2)----字符串连接
char a[10]="子怡";
char b[10]="大哥";
strcat(str1,str2);
printf("%s",str1);
最终输出:子怡大哥
(4)strcpy()----字符串复制的函数
<1> strcpy(字符数组1,字符串2)----字符串复制
char a[10]=" ";
char b[10]="子怡大哥";
strcpy(str1,str2);
printf("%s",str1);
最终输出:子怡大哥
将字符串2复制到字符数组1中去。
<2> strcpy(字符数组1,字符串2,n)----字符串选择复制的函数
n:将字符串2中的单个字符复制到字符数组1中,最少0个,最多不超过字符串2的长度。
char a[10]=" ";
char b[10]="子怡大哥";
strcat(a,b,2);
printf("%s",a);
最终输出:子怡
(5)strcmp()----字符串比较的函数
<1> strcmp(字符数组1,字符串2) ----字符串比较的函数
规则:
a. 如果全部字符相同,则认为两个字符串相等;
b. 当出现不同时,以第一对不想听的字符比较结果为准(‘a’<'b')
比较结果由函数值带回:
a. str1==str2:返回0
b. str1>str2:返回1
char str1[10]="abc";
char str2[10]="aac";
int n=strcmp(str1,str2);
printf("%d",n);
最终输出1
c. str1<str2:返回-1
char str1[10]="aac";
char str2[10]="abc";
int n=strcmp(str1,str2);
printf("%d",n);
最终输出-1
<2> strncmp(字符数组1,字符串2,n)----字符串选择比较的函数
n:选择前n个字符比较
比较结果由函数值带回:
a. str1==str2:返回0
b. str1>str2:返回1
char str1[10]="abc";
char str2[10]="aac";
int n=strcmp(str1,str2,2);
printf("%d",n);
c. str1<str2:返回-1
char str1[10]="aac";
char str2[10]="abc";
int n=strcmp(str1,str2,2);
printf("%d",n);
(6)strlen(字符数组)----计算字符串长度的函数(不包括'\0')
char a[10]="子怡大哥";
int n=strlen(str1);
printf("%d",n);
也可直接计算字符串常量的长度
int n=strlen("子怡大哥");
printf("%d",n);
(7)strlwr(字符串)----转换为小写的函数
char str1[10]="aAbBcC";
strlwr(str1);
printf("%s",str1);
最终输出:aabbcc
(8)strupr(字符串)----转换为大写的函数
char str1[10]="aAbBcC";
strupr(str1);
printf("%s",str1);
最终输出:AABBCC
(9)strstr(字符串1,字符串2) ----查找字符串的函数
判断字符串str2是否是str1的子串,如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。
如果找到数组,就会从找到的地方开始输出。
char a[]="abcde";
char b[]="bc";
char* x=strstr(a,b);
if(x==NULL)
printf("不能找到");
else
printf("%s",x);