在前面的章节中,小伙伴们已经熟悉了 printf()、scanf() 等几个函数的使用。实际上,这些函数是 C 语言内置好的,你无需定义就可以直接使用它。
本章将带你学习如何去编写自己的函数,从而更好地管理代码,使得代码的可读性和可维护性更高。
C 语言中的函数是什么?
很多书都喜欢搞这么一套,一上来就滔滔不绝地介绍函数的语法,包括函数定义、函数参数、函数调用等。小伙伴们几乎把函数这一章看完了,都不知道函数究竟是怎样一个东西!
为了再次避免这种悲剧的发生,在讲解函数语法之前,我们先给大家介绍一下函数是怎样的一个东西。话不多说,先来看一个简单的例子。
示例 1:不使用函数
#include <stdio.h>
int main(void)
{
int sum = 0;
for (int i = 1; i <= 10; i++)
{
sum += i;
}
printf("%d", sum);
return 0;
}运行结果如下。
55分析:
大家一看就知道,上面这段代码实现的是:计算 10 以内所有整数之和。如果想要让大家分别计算 “10 以内所有整数之和” 以及 “20 以内所有整数之和”,那应该怎么做呢?不少小伙伴很快写下了下面这段代码。
#include <stdio.h>
int main(void)
{
int sum1 = 0;
int sum2 = 0;
// 计算 10 以内所有整数之和
for (int i = 1; i <= 10; i++)
{
sum1 += i;
}
// 计算 20 以内所有整数之和
for (int i = 1; i <= 20; i++)
{
sum2 += i;
}
printf("10 以内所有整数之和:%d\n", sum1);
printf("20 以内所有整数之和:%d", sum2);
return 0;
}那我现在再提一个问题,如果要你分别计算 10 以内、20 以内、30 以内、40 以内、50 以内所有整数之和,那岂不是要重复写 5 次相同的代码?
为了减轻这种重复编码的负担,C 语言引入了函数的概念。如果我们想要实现上面 5 个范围内所有整数之和,用函数可以这样实现。
示例 2:使用函数
#include <stdio.h>
// 定义一个函数,用于计算指定范围内所有整数之和
int sum(int n)
{
int result = 0;
for (int i = 1; i <= n; i++)
{
result += i;
}
return result;
}
int main(void)
{
printf("10 以内所有整数之和:%d\n", sum(10));
printf("20 以内所有整数之和:%d\n", sum(20));
printf("30 以内所有整数之和:%d\n", sum(30));
printf("40 以内所有整数之和:%d\n", sum(40));
printf("50 以内所有整数之和:%d\n", sum(50));
return 0;
}运行结果如下。
10 以内所有整数之和:55
20 以内所有整数之和:210
30 以内所有整数之和:465
40 以内所有整数之和:820
50 以内所有整数之和:1275分析:
对于这段代码,大家暂时看不懂没关系,学完这一章就明白了。从上面可以清楚地看出,使用函数可以大量减少重复工作,这简直是编程的一大神器啊!
C 语言函数的作用
在 C 语言中,函数一般用来实现某一种重复使用的功能,在需要该功能的时候,直接调用函数就可以了,而不需要编写一大堆重复的代码。并且在需要修改该函数功能的时候,也只需要修改和维护这一个函数就行,而不会影响其他代码。
函数一般会在两种情况下使用:一种是 “需要重复使用的功能”,另一种是 “特定用途的功能”。在 C 语言中,如果我们想要使用函数,一般只需要简单两步就可以了:
