复习
1、字符数组
1)输入、输出 %s
2)字符数组初始化 字符串
char ch[]=“hello”
2、字符串处理函数
1)函数原型
函数返回值 函数名(形参1类型 形参1,形参2类型 形参2…)
2)函数的调用
语法 函数名(实参1,实参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]开始的数组元素
puts(ch);
puts(&ch[1]);正确,输出从ch[1]开始的一个字符串(到\0之前的字符串)
puts(“hello”);
2、字符串连接函数
char * strcat(char * str1,char *str2)
将str2所指向的字符串,连接到str1所指向的字符串后面,并且去掉st1后面的\0,返回的是str1(地址)
注意,str1所指向的内存单元足够大(放下连接后的字符串)
char ch1[]=“hello”;
char ch2[]=“world”;
strcat(ch1,ch2);错误,ch1不足够大
char ch1[20]=“hello”;
char ch2[]=“world”;
strcat(ch1,ch2);正确
puts(ch1);输出helloworld
puts(strcat(ch1,ch2));将strcat(ch1,ch2)函数调用的结果(函数的返回值)作为puts的实参,调用正确,输出???
strcat(ch1,&ch2[3]);
puts(ch1);输出hellold
puts(strcat(ch1,&ch2[3]));输出????
strcat(&ch1[2],ch2);
puts(ch1);输出 helloworld
???
puts(strcat(&ch1[2],ch2));输出 ?????
3、字符串复制函数
1)函数原型
char * strcpy(char * str1,char *str2)
把str2指向的字符串复制到str1所指向的内存单元中,返回str1(地址)
注意,str1所指向的内存单元大小要大于等于str2所指向的内存单元大小
char ch1[20]=“hello”;
char ch2[]=“wor”;
strcpy(ch1,ch2);
puts(ch1);输出wor
strcpy(“hello”,“worldddd”);错误,第一个参数的内存空间不足够大
puts(strcpy(ch1,ch2));输出wor
strcpy(&ch1[1],&ch2[1]);
puts(ch1);输出hor
puts(strcpy(&ch1[1],&ch2[1]))输出or等价于
strcpy(&ch1[1],&ch2[1]);puts(&ch1[1]);
2)
函数原型
char * strncpy(char * str1,char *str2,int
n);
把str2指向的字符串中的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)
比较两个字符串的大小(逐个字符比较ASCII值的大小),如果str1>str2返回1,如果str1=str2返回0,如果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(“wordl”); 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、函数的调用
3、函数的声明(函数原型声明)
字符数组
最新推荐文章于 2022-01-12 11:52:33 发布