1 字符数组
1) 字符数组的 输入用%s
2 字符数组的初始化 以字符串的形式初始化
例如 char a[10]={“hello”};
2
字符串处理函数
1) 函数原型
函数返回值 函数名(形参1类型 形参1,形参2类型 形参2…)
2) 函数的调用
语法 函数名(实参1,实参2…)
注: 实参必须有确定的值,并且个数和形参保持一致,类型和形参一致或赋值兼容 例如
int a=3.6;double x=3;
3 字符串输入输出函数
int gets(charstr)==从键盘输入一个字符串,保存到str所指向的内存单元中
int puts(charstr)===输出 str所指向的地址中的字符串,并且换行
例如 char ch[20];
gets(ch);==gets(&ch[0])
gets (ch[1])错误,次函数表示的为char 类型而函数原型为char * 类型
gets(&ch[1]);正确 & 表示取地址,从键盘输入一个字符串,并保存在ch[1]开始的数组中
puts(ch);
puts(&ch[1]);正确,表示输出从ch[1]开始的字符串(到\0之前的字符串)
例如 puts(“hello”);
4字符串连接函数
char stract(charstr1,char*str2) 表示将str2所指向的字符串,连接到str1所指向的字符串后面,并且去掉str1后面的\0,返回str1
注: str1所指向的内存单元应该足够大,以便str2的连接
例如:
char ch1[]=“hello”;
char ch2=“world”
strcat(ch1,ch2);错误 因为ch1不足够大
char ch1[50]=“hello”;
char ch2[]=“world”;
c;正确 保证了数组一足够大可以是数组二连接 输出helloworld
puts( stract (ch1,ch2));甘薯调用的结果(函数的返回值)
strcat(&ch[1],ch[2]);输出lloworld
strcat(ch1,&ch2[3]);
puts(ch1); 输出hellold
puts(stract(ch1,&ch2[3]));输出 hellold
strcat(&ch1[2],&ch2);
puts(ch1);输出 lloworld
puts(strcat(&ch1[2],&ch2));输出 lloworld
5
字符串复制函数
1) 函数原型
char strcpy(charstr1,char*str2)
作用: 把str2指向的字符串复制到str1所指向的内存单元中,返回str1
注意:str1所指向的内存单元的大小要大于等于str2所指向的内存单元的大小
例如:char ch1[20]=“hello”
char ch2[]=“world”
strpy(ch1,ch2);
puts(ch1);world
puts(strpy(ch1,ch2));输出 world
strpy(&ch1[1],&ch2[1]);puts(strpy(&ch1[1],&ch2[1]));输出
2)函数原型
char strncpy(charstr1,charstr2,int n);
作用:把str2所指向的字符串中的n个字符(比一定包含\0)复制到str1所指向的内存单元中,返回str1
char ch1[20]=“hello”;
char ch2=“world”;
strncpy(ch1,ch2,3);
puts(ch1);
输出:worlo
6
字符串比较函数
函数原型
int strcmp(charstr1,charstr2)
作用:比较两个字符串 的大小(逐个字符比较ASCII码值的大小),如果str1大于str2返回1,如果str1=str2返回0,如果str1<str2返回-1
7
字符串有效长度
函数原型
unsigned int strlen(charstr)
作用:统计字符串中有效字符的个数,不包括\0,返回字符个数
char ch1[20]=“hello”;
sttrlen(ch1);输出:5
8字符串转换小写
函数原型
strlwr(charstr)
char ch1[]=“hello”;
strlwr(ch1);
输出:HELLO
鞍点
输出个个数