一、函数的概念
在
维基百科
中,对于函数的定义是
子程序
。
子程序
是一个大型程序中的某部分代码,由一个或多个语句
块组成,他负责完成某项特定的任务,而且相较于其他的代码,具备相对的独立性。
【口语化解释】函数就是一段封装好的,可以重复使用的代码,它使得我们的程序更加
模块化
,不需要
编写大量重复的代码。
函数可以提前保存起来,并给它起一个独一无二的名字,只要知道它的名字就能使用这段代码。函数还
可以接收数据,并根据数据的不同做出不同的操作,最后再把处理结果反馈给用户。
二、
C
语言中函数的分类
1.库函数
2.自定义函数
(
1
)库函数
为什么会有库函数呢?
早期的
c
语言是没有函数的,他只规定语法,比如
for
循环之类的该怎么写然后各种各样的语法细节的规则
非常规定的很清楚,就是你写出的代码能够编译处理。但是当有一天呢,
A
想在屏幕上打印一个信息的时
候
A
就实现了一个类似于
printf1
的函数的功能。那这个时候呢,
B
说,我也要一个打印的函数,于是他写
了一个
printf2
,后来
c
说,他也想打印。那他呢,也写了一个
printf3
函数。
这些人都互相都不知道,所以我们看一下。当我们每个人都去实行打印这个功能的时候,这个代码时,
就变得冗余了。
第二是什么呢?开发效率低,我们每个人都在重复的造论子,你写一个,他也写一个,别人再写一个。
写的都是类似的功能,开发效率当然低了。
第三个就是不标准,你写的他写的都是同一功能,但是这个实现方法可能不一样。参数也可能不一样,
返回值类型也可能不一样。
所以基于以上原因。 那能不能把
常用的一些功能
实现成函数呢?那这个时候呢,就有了库函数的概念,
这个函数只要把参数规定死了。 返回类型规定死了。函数名规定死了,那他的使用方法肯定就是一模一
样了,库函数的出现让我们代码的开发效率变高了。 代码更加标准化了。
注:但是库函数的使用必须包含对应的头文件
那怎么学习库函数呢?
常用的库函数有:
IO
函数
字符串操作函数
字符操作函数
时间
/
日期函数
数学函数
内存操作函数
strcpy
函数,功能:拷贝字符串
.
#define_CRT_SECURE_NO_WARNINGS1
#include<stdio.h>
#include<string.h>intmain(){
charstr1[]="Hello";
charstr2[20]="##############";
strcpy(str2,str1);
printf("%s\n",str2);
}
注意:
%s
在打印时,遇到字符串结束标识(
\0
)就结束。
如何学会使用库函数
?
需要全部记住吗
?
当然不是
,
而是我们要学会查询文档
.
(
2
)自定义函数
由于库函数不能干所有的事情,所以更加重要的是
自定义函数
。
自定义函数和库函数一样,有函数名,返回值类型和函数参数。
但是不一样的是这些都是我们自己来设计,这给了程序员一个很大的发挥空间。
函数的组成:
***自定义函数***
ret_typefun_name(para1,*)
{
statement;//函数体
}
ret_type返回类型
fun_name函数名
para1 函数参数
当然,函数的定义也可以放在使用之后,但是需要在使用之前进行声明。声明可以放在
main
之前,也可以放置在调用函数的内部。
#include<stdio.h>
intmain()
{
//函数的声明
int getMax(intx,inty);
int a=0;
int b=0;
scanf("%d%d",&a,&b); //调用函数
intm=getMax(a,b);
printf("%d\n",m);
return 0;
}
//定义函数:
intgetMax(intx,inty){
intmax=x;
if(x<y){
max=y;
}
return max;
}