1.字符数组
(1)输入输出 %s
2)字符数组初始化 字符串
char ch[]=“hello”
2.字符串处理函数
1)函数原型
函数返回值 函数名(形参1类型 形参1,形参2类型 形参2…)
说明:实参必须有确定的值,并且个数与形参保持一致,类型和形参一致或赋值兼容 int a=3.6 ,double x=3;
1.字符串输入、输出函数
int gets(char* str)===从键盘输入一个字符串,保存到str所指向的内存单元中
int puts(char* str)输出str所指向的地址中的字符串,并且换行
char ch[20];
gets(ch)<>gets(&ch[0])
gets(ch[1])错误,实参类型为char,而且函数gets要求的形参类型为char*
gets(&ch[1]);正确,输出从ch【1】开始的字符串(到\0之前的字符串)
puts(“hello”);
2字符串连接函数
char* strcat(char* str1,char* str2)
将str2所指向的字符串,连接到str1所指向的字符串后面,并且去掉str1后面的\0,返回的是str1(地址)
注意 str1所指向的内存单元足够大(放下连接后的字符串)
char ch1[]=“hello”;
char ch2[]=“world”;
stract(chi,ch2);错误 ,ch1不足够大
char ch1[20]=“hello”;
char ch2[]=“world”;
stract(ch1,ch2);正确
puts(ch1);输出 helloworld
puts(strcat(ch1,ch2));将strcat(ch1,ch2)调用的结果(函数的返回值)作为puts的实参,调用正确,输出helloworld
stract(ch1,&ch2[3]);
puts(ch1);输出hellold;
puts(stract(ch1,&ch2[3]));输出hellold;
stract(&ch1[2],ch2);
puts(ch1);输出hello;
puts(stract(&ch1[2],ch2));输出lloworld;
3.字符串复制函数
1)函数原型
char strcpy(char str1,char* str2)
将str2所指向的字符串,复制到str1所指向的内存单元中,返回的str1(地址)
注意 str1所指向的内存单元要大于等于str2所指向的内存单元
char ch1[20]=“hello”;
char ch2[]=“wor”;
strcpy(str1,str2);
puts(ch1);输出wor
strcpy(“hello”,“world”);错误,第一个参数的内存空间不够大
puts(strcpy(str1,str2));输出wor
puts(strcpy(&str1【1】,str2【1】));输出or 等价于strcpy(&str1【1】,str2【1】);puts(&ch1[1]);
2)函数原型
strncpy(char str1,char str2,int n);
把syr2指向的字符串的 n个字符(不一定包含\0)复制到str1指向的内存单元中,返回str1(地址)
char ch1[20]=“hello”;
char ch2[]=“world”;
strncpy(ch1,ch2,3);
puts(ch1);//输出worlo;
4.字符串比较函数
函数原型
int strcmp(char* str1,char* str2)
比较两个字符串的大小(逐个字符比较ASC||值的大小),如果str1=str2返回0,
如果str1>str2返回1,如果str1<str2返回-1,
5.字符串有效长度函数
函数原型
unsigned int strlen(char* str)
统计str字符字符串中字符的个数,不包括\0,返回字符个数
char ch1[20]=“hello”;
char ch2[]=“world”;
int a,b,c;
a=strlen(ch1);5
b=strlen(ch2);5
c=strlen(“world”);5
6.字符串转换成小写
strlwr(char* str)
char ch1[]=“Hello”
strlwr(ch1)//hello
7.字符串转换成大写
strupr(char* str)
char ch1[]=“Hello”
strupr(ch1)//HELLO
第七章 函数(实现了一定功能的代码模块)-模块化,代码复用
1.函数的定义
语法
函数返回值类型 函数名 (形参1类型 形参1,形参2类型 形参2…)//函数的首部
{//函数体,函数功能的实现
}
说明:函数的返回值类型,即函数类型,是函数完成功能后的返回值的类型,如果没有,明确定义为void,如果有返回值,则在函数体中要使用return语句带回返回值
函数名为任意合法的标识符
形参:函数完成功能时,所必须的已知条件,如果没有则括号什么也不写,称为无参函数(例如求1—100的和就是无参函数)
函数体:用大括号括起来的内容,是函数功能的完整实现
例如,写一个函数,求两个整数的和
int add(int x,int y)
{int z=x+y;
return z;
}
int f=add(2,3);
int add()
{int x,y,z;
scanf("%d%d",&x,&y);
z-x+y;return z;
}
int f=add();
2.函数的调用
函数的声明(函数原型声明)