目录
1.函数是什么
2.函数的分类
(1)库函数
(2)自定义函数
3.函数参数
5.函数调用:
6.函数的嵌套调用和链式访问
7.函数的声明和定义
8.函数的递归
1.函数是什么
C语言函数是什么?维基百科中对函数的定义:子程序
在计算机科学中,子程序是一个大型程序中的某部分代码,有一个或者多个语句块组成。它负责完成某项特点的任务,而且相较于其他代码,具备相对的独立性。
一般情况有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。
2.函数的分类
(1)库函数
C语言自己提供频繁被大量使用的功能,实现这些功能的函数,称为库函数
对于想学习库函数中的函数有以下3个途径:
1.cplusplus.com - The C++ Resources Network
2.下载软件MSDN(Microsoft Developer Network)或者有在线版MSDN
3.cppreference.com(这个网站是中文的)
(2)自定义函数
自定义函数和库函数一样区别在与,自定义函数的函数名,返回值类型和函数参数需要我们自己来设计。
ret_type fun_name(para1)
{statement;//函数体
}
//ret_type 函数返回类型
//fun_name 函数名
//para1 函数参数
例如:定义一个函数输出俩个整数a,b中最大的。
#define _CRT_SECURE_NO_WARNINGS 1 #includeint getmax(int a,int b) { return a < b ? b : a; } int main() { printf("%d",getmax(1, 2)); return 0; }
3.函数参数
函数参数分为:形式参数和实际参数
例如:
1.比较a,b大小输出较大的
#define _CRT_SECURE_NO_WARNINGS 1 #includeint getmax(int a,int b)//int a和int b为形式参数 { return a < b ? b : a; } int main() { printf("%d",getmax(1, 2)); //getmax(1,2)中的1和2为实际参数, //在主函数中将实际参数传到自定义函数中的形式参数中并在自定义函数中运行并返回结果 return 0; }
2.交换a,b的值(考研对形式参数和实际参数的理解)还需要学习指针知识,之后对比以下俩个程序的不同。
#define _CRT_SECURE_NO_WARNINGS 1 #includevoid swap(int *pa,int *pb)//void类型函数表示函数没有返回值 { int t=0; t = *pa; *pa = *pb; *pb = t; } int main() { int a=1; int b=2; swap(&a, &b); printf("%dn%d",a,b); return 0; }
#define _CRT_SECURE_NO_WARNINGS 1 #includevoid swap(int a,int b) { int t=0; t = a; a = b; b = t; } int main() { int a=1; int b=2; swap(a, b); printf("%dn%d",a,b); return 0; }
5.函数调用:
传值调用:揭示函数参数模块中的第二题中的第二个程序,函数的形式参数和实际参数分别占用不同的内存块,对形参的操作不会影响到实参,有人要问了那函数参数模块中的第一题为什么就不需要指针,因为第一天不需要去修改实参,只需要将实参数据传到形参中,然后从形参中比较出一个较大值然后输出,当需要改变实参时,我们要用的就不是传值调用,而是传址调用,只有用地址才能来对实参进行修改。
传址调用:传址调用,意思是实际参数传到形式参数的值是一个地址,也就是函数参数模块中第二题的第一个程序。
6.函数的嵌套调用和链式访问
7.函数的声明和定义
8.函数的递归
8.函数的递归
更新中~~~~~



