1.如何定义字符串
(1)字符串是通过字符数组来存储和处理的,如:
char str[6]="China";
//等价于
char str[6]={"China"};
//也等于
char str[6]={'C','h','i','n','a',''\0};
(2)在字符串后存储一个'\0'作为字符串结束标志,若没有字符串结束标志'\0',则只能算字符数组,而不是字符串
char str[ ]={'C','h','i','n','a'};
//str数组长度为5,没有'\0'
2.字符串的输入输出
(1)单个字符的输入输出
//利用标准输入输出函数scanf()和printf()
//输入
char str[11];
for(int i=0;i<10;i++)
scanf("%c",&str[i]);
//输出
while(str[i]!='\0')
{ printf("%c",str[i]);
i++;
}
//使用getchar()和putchar()函数
//输入
char str[80];
while((str[i]=getchar())!='\n') //遇到回车符结束
i++;
//输出
for(int i=0;str[i]!='\0';i++)
printf("%c",str[i]);
(2)字符串的整体输入输出
//输入
char str[50];
gets(str);
//输出
char str[]={"China"};
puts(str);
3.字符串操作函数
使用时需在头文件string.h中说明
(1)复制函数strcpy()
strcpy(字符串1,字符串2)
char c1[]="1234567";
strcpy(c1+4,"hello");//把字符串“hello”复制到c1+4开始的位置
//结果
1234hello
strncpy(字符串1,字符串2,n)
char str[]="123456",str2[]="abcdef";
strncpy(str1,str2,4);//把字符串2的前4个字符复制到字符串1中
//结果
abcd56
(2)连接函数strcat()
strcat(字符串1,字符串2)
char c1[]="hello,";
strcat(c1,"China");//将字符串2连接到字符串1后面
//结果
hello,China
(3)比较函数strcmp()
strcmp(字符串1,字符串2)
当字符串1<字符串2时,返回值<0;
当字符串1=字符串2时,返回值=0;
当字符串1>字符串2时,返回值>0;
(3)求字符串长度函数strlen()
strlen(字符串)
(4)大写字母转小写字母函数strlwr()
strlwr(字符串)
(5)小写字母转大写字母函数strupr()
strupr(字符串)