C语言初阶——函数

本文详细介绍了C语言中的函数概念、分类(库函数与自定义函数)、参数传递(传值与传址)、函数调用(传值调用与传址调用)、递归及其注意事项。通过实例展示了如何使用函数处理素数判断、闰年检测、数组二分查找和递归计算斐波拉契数列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、函数是什么

1.1 函数的定义

维基百科中对于函数的定义:子程序

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

C语言中函数的分类包括:库函数和自定义函数。

1.2 库函数

1.2.1 库函数的定义

在C语言中,有一些特定的函数功能会被几乎所有的程序员用到,比如输入输出等,如果让每个程序员自己写相应的函数会变得杂乱不堪,所以为了方便书写,也为了标准的统一,库函数因此而生。

C语言常用的库函数有:IO函数,字符串操作函数,字符操作函数,内存操作函数,时间/日期函数,数学函数,其他库函数;

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

1.2.2  库函数学习工具

(1)MSDN(Microsoft Developer Network);

(2)www.cplusplus.com

(3)c与c++参考手册(英文版);

(4)c与c++参考手册(中文版)。

1.3 自定义函数

1.3.1 自定义函数的定义

为了实现各种各样丰富的功能,C语言提供了自定义函数,让程序员能够根据自己的需求创造包含有各种各样功能的函数,而并非如库函数一样是一成不变的。

1.3.2 自定义函数的格式

自定义函数的基本形式如下所示:参数返回类型 函数名(函数参数){函数体;}

ret_type fun_name(para1, *) {//参数返回类型 函数名(函数参数)
	statement;//语句项
}

在函数的参数中,分为实参和形参两种参数,而这两种参数的改变是否会相互影响呢?让我们来做一下的实验:

void Swap(int x, int y) {//此处的x和y是形式参数,简称形参
	int z = 0;
	z = x; x = y; y = z;
}

//当实参的值传输给形参的时候,形参是实参的一份临时拷贝
//修改形参的数值并不会影响原本实参的数值

int main() {
	int a = 0, b = 0;
	scanf("%d%d", &a, &b);
	printf("交换前:a=%d,b=%d",a,b);
	Swap(a, b);//此处的a和b是实际参数,简称实参
	printf("交换后:a=%d,b=%d",a,b);
	return 0;
}

当我们运行完如上所示的代码后,可以看到输出结果并没有按照我们所想的a和b的值进行互换,而是保持不变,这是因为函数中形参的改变不会改变实参的值,所以我们需要通过如下方式来进行实参的改变从而实现两个数的交换:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值