C语言函数

函数

一 函数是什么

在这里插入图片描述

C语言对函数的定义是子程序,子程序是指是一个大型程序中的某部分代码, 由一个或多个语句块组
成。它负责完成某项特定任务,而且具备相对的独立性可以相互调用,一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库

在我们写代码的时候,有时候会重复写一段代码,而这段代码所执行的功能,操作是一样的,只是针对的对象不一样,如果将这段功能写成一个函数模块,那么在需要用到的时候调用即可,进而避免了写重复的代码,避免了重复性操作,所以以在函数A中调用函数B,又可在函数B中调用函数C,不仅如此,你还可以调用函数自身(递归)当你要用时,只需要调用它即可,在后续的修改或是维护过程中,只需要针对这一个进行修改即可
2:方便代码的维护,当我们知道哪个部分出问题后,或者需要修改某个功能,那就只需要修改那部分的代码即可
例如:

一个快递站,顾客拿一个物品想寄一个快递,文员负责输入地址信息,打包员负责物品,送货司机负责送快递

例如:

void wenyuan()
{
	printf("文员接待\n");
	printf("顾客下单\n");
	printf("文员输入信息\n");
}
void dabaoyuan()
{
	printf("打包员打包成功\n");
	printf("打包员分配\n");
}
void songhusj()
{
	printf("送货司机发车\n");
	printf("送货司机到地点送快递\n");
	printf("顾客接受成功,订单完成\n");
	printf("顾客评价:送货及时,5星好评\n");
}
void guke()
{
	printf("不接?你去吃屎吧!\n");
}
int main()
{
	printf("顾客来发快递啦\n");
	printf("1. 接客\n");
	printf("0. 不接有钱任性\n");
	
	int a = 0;
	while (1)
	{
		scanf("%d", &a);
		switch(a)
		{
		case 1:
			wenyuan();
			dabaoyuan();
			songhusj();
			break;
		case 0:
			guke();
			break;
		default:
			printf("输入错误\n");
		}
	}
	return 0;
}

上面每个成员都有自己独立的任务,假设顾客就是main主函数进入口,那么文员、打包员、送货司机就是相当于不同的函数
他们都有特定的任务,互不影响,如果中间出错就很容易知道在哪里出现了问题,如果文员信息输入错误,那么送货司机就送不到顾客手中

在这里插入图片描述

二 C语言中函数的分类

  1. 库函数
  2. 自定义函数

1. 库函数

C语言常用的库函数都有:
IO函数-------------------如:printf scanf getchar putchar
字符串操作函数-------如:strcmp strlen
字符操作函数----------如:toupper
内存操作函数----------如:memcpy
时间/日期函数---------如:time
数学函数----------------如:pow
其他库函数
当然使用库函数,必须包含 #include 对应的头文件。
下面是C语言和C++的库函数
链接: 库函数

2.自定义函数

自定义函数和库函数一样,有函数名.返回值类型和函数参数
但是不一样的是这些都是我们自己来设计,这给程序员一个很大的发挥空间
例如:

函数的类型   int
函数名       Add
函数的参数   (int a,int b)

代码作用是返回最大值:
int Add(int a, int b)
{
	return a < b ? b : a; 
}
int main()
{
	int a = 0, b = 0;
	scanf("%d %d", &a, &b);
	int n = Add(a, b);
	printf("%d\n",n);
	return 0;
}
  • 16
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值