【C语言】入门——函数

1. 函数

函数的定义为:一个子程序。是一个大型程序中某部分代码,由一个或多个语句块组成,它负责完成某项特定任务,具有独立性。

返回值类型 函数名(形参)
{
函数体;
}

2. 函数的分类

1.库函数:

在编程程序中,我们频繁会使用的功能又不是业务行代码,为了支持可移植性,C语言基础库中提供了很多库函数,方便程序员软件开发。
注:使用库函数,必须包含对应的头文件#include。 对于了解使用相应库函数,推荐去http://www.cplusplus.com/。这是一个非常棒网址,里面对库函数进行了详细的介绍以及如何使用的例子。

2.自定义函数:

自定义函数是非常重要的,这是由我们自己设计的函数,给予了程序员很大的一个发挥空间。

-定义一个函数,找到两个整数的最大值。

int get_max(int x, int y)
{
 return (x>y)?(x):(y);
}

3.函数的参数

3.1 实参:

是真实传递给函数的参数;

实参可以是:常量,变量,表达式,函数等,但它们都必须有确定的值,要传给形参

3.2 形参:

是指函数名后括号的变量,形参相当于实参的一份临时拷贝,在函数调用完就会自动销毁。

int add(int x, int y)  //形参x,y
{
	int num = x + y;
	return num;
}
int main(){
	
	int a = 5;
	int b = 2;
	int sum = add(a, b);//传递实参a,b给函数add
	printf("%d", sum); //7
	return 0;
}

4. 函数的调用

4.1 传值调用:

形参是实参的一份临时拷贝,占用不同的内存块,对形参的修改不会影响实参

4.2 传址调用:

 实参和形参共享一个空间,对形参修改会影响实参,适用于需要将实参进行数据更换

5. 函数嵌套调用和链式访问

5.1 嵌套调用:

函数与函数之间可以互相调用,但是不能嵌套定义

void lline()  //形参x,y
{
	printf("奥里给\n");
}
void newline()
{
	int i = 0;
	for (i = 0; i <= 5; i++)
	{
		lline(); //嵌套调用lline函数
	}
}
int main() {
	newline();
	return 0;
}

5.2 链式访问:

把一个函数的返回值作为另一个函数的参数。

int Add(int x, int y)
{
	int sum = x + y;
	return sub(sum); //调用sub函数并返回值给主函数
}
int sub(int n)
{
	int z = n - 1;
	return z;	//返回一个值给Add函数
}
int main()
{
	int a = 2;
	int b = 5;
	int num = Add(a, b);
	printf("%d",num); //6
	return 0;	
}

6. 函数的声明和定义

6.1 函数声明:

函数的名字,参数,返回类型。函数必须满足先声明后使用

但是在一般开发中,函数的声明都在头文件中,方便团队一起工作。

6.2 函数定义:

函数的定义就是指函数的功能,写入想要的函数体即可。

7. 函数递归

程序调用自身的编程技巧叫递归,俗称自己调用自己,这类算法可以把一个复杂的问题转化为一个与原问题相似的但规模较小的问题进行求解,难在如何想到相应的公式。

7.1 递归的条件:

递归必须满足两个条件:

1. 存在限制条件,当满足此条件时,递归便不再继续。

2. 每次递归调用都是越来越接近这个限制条件。

 

以上是我对C语言函数入门的一个简单概括,同身为初学者,有很多不足,希望得到大家的指点和完善。感激不尽!!让更多人成为优秀程序员。

猜你喜欢

转载自blog.csdn.net/m0_67367079/article/details/132532097