C语言 | 函数的基本使用和递归 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 技术分享 >

C语言 | 函数的基本使用和递归

发表时间:2020-10-19

发布人:葵宇科技

浏览次数:25

文章目录

  • 函数是什么?
  • 一、C语言中函数的分类
  • 二、函数的参数
    • 1.实际参数(实参)
    • 2.形式参数(形参)
  • 三、函数的调用
  • 四、函数的声明和定义
  • 五、函数递归


函数是什么?

  • 在计算机科学中,子程序是一个大型程序中的某部分代码,由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性。
  • 一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。

一、C语言中函数的分类

1、库函数
为了支持可移植性和提高程序的效率,C语言的基础库中提供了一系列库函数,满足一些基础功能,他们不是业务性的代码,在开发的过程中每个程序员都可能用的到,方便程序员进行软件开发。
C语言常用库函数:

  • IO函数
  • 字符串操作函数
  • 字符操作函数
  • 内存操作函数
  • 时间/日期函数
  • 数学函数
  • 其他库函数

使用库函数,必须包含#include对应的头文件

库函数学习:www.cplusplus.com

2、自定义函数
函数的组成:

ret_type fun_name(para1,*)
{
	statement;
}
/*
ret_type:返回值类型
fun_name:函数名
para1,*:形参列表
*/

C语言默认返回值是整形,函数传参要发生形参实例化,这个过程要发生值拷贝。(形参的实例化之后其实相当于实参的一份临时拷贝)

二、函数的参数

1.实际参数(实参)

真实传给函数的参数,叫实参。实参可以是:常量,变量,表达式,函数等。无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传给形参。

2.形式参数(形参)

形式参数是指函数名后括号中的变量,因为形式参数只有在函数在被调用的过程中才实例化(分配内存单元),所以叫形式参数。形式参数当函数调用完成之后就自动销毁了。因此形式参数只在函数中有效。
函数传参必定形成临时变量,临时变量的形成是在函数被调用时,但正式的代码执行之前。

:写一个函数可以交换两个整形变量的内容

#include<stdio.h>
#include<windows.h>

//每调用一次,就会将num的值加1
void add(int *cp){
	(*cp)++;
}
//交换两个整形变量的内容
void Swap1(int x, int y){
	int tmp = 0;
	tmp = x;
	x = y;
	y = tmp;
}
void Swap2(int *px, int *py){
	int tmp = 0;
	tmp = *px;
	*px = *py;
	*py = tmp;
}
int main(){
	//int count = 1;
	//for (int i = 1; i <= 10; i++){
	//	add(&count);
	//	printf("%d\n", count);
	//}
	int num1 = 1;
	int num2 = 2;
	Swap1(num1, num2);
	printf("Swap1:num1 = %d num2 = %d\n", num1, num2);
	Swap2(&num1, &num2);
	printf("Swap2:num1 = %d num2 = %d\n", num1, num2);
	system("pause");
	return 0;
}

结果:

Swap1:num1 = 1 num2 = 2
Swap2:num1 = 2 num2 = 1
请按任意键继续. . .

三、函数的调用

  • 传值调用
  • 传址调用

:写一个函数,每调用一次这个函数,就会将num的值增加1。

#include<stdio.h>
#include<windows.h>
//每调用一次,就会将num的值加1
void add(int *cp){
	(*cp)++;
}
int main(){
	int count = 1;
	for (int i = 1; i <= 10; i++){
		add(&count);
		printf("%d\n", count);
	}
	system("pause");
	return 0;
}

四、函数的声明和定义

五、函数递归


相关案例查看更多