C语言—函数


在本篇博客中,主要介绍C语言中函数的使用

函数的编写步骤

例:计算1+2+3+…+n的值

#include <stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	int sum = 0;
	for(int i=1;i<=n;i++)
	{
		sum += i;
	}
	printf("%d\n",sum);
	return 0;
}

main函数,别人无法调用,只能自己调用
因此需要将功能单独成函数
那么该如何处理呢?

1. 第一步—函数名

将main函数名改成合适的名称

具体操作如下:

  • 1.先将功能写在主函数中;
  • 2.只需将main改为合适的函数名字即可;
  • 3.在主函数中,调用函数。
int Sum()//函数的定义
{
	int n;
	scanf("%d",&n);
	int sum = 0;
	for(int i=1;i<=n;i++)
	{
		sum += i
	}
	printf("%d\n",sum);
	return 0;
}
int main()   //程序的入口
{
	Sum();   //使用(调用)函数
	return 0;
}

2. 第二步—参数列表

不通过scanf获取数据,通过参数列表传递数据

具体操作如下:

  • 1.将需要使用scanf的地方去点,并改为参数传递;
  • 2.在函数名括号中添加参数列表,例Sum(int a);
  • 3.在主函数中调用函数时,添加参数。
int Sum(int n)//函数的定义
{
	/*int n;
	scanf("%d",&n);*/
	int sum = 0;
	for(int i=1;i<=n;i++)
	{
		sum += i
	}
	printf("%d\n",sum);
	return 0;
}
int main()   //程序的入口
{
	//Sum(); //使用(调用)函数
	Sum(10); //通过参数调用函数
	return 0;
}

注意:
一个参数时,Fun(int a);
两个参数时,Fun(int a,int b,double c);

3. 第三步—返回值

若将1+2+3+…+100的结果除以10,应该如何得到呢?
通过返回值,将函数体执行的结果返回。
注意:
1) 当需要通过printf输出时应该考虑返回值,在功能函数中不要输出数据;
2)通过返回值返回和通过printf输出的区别:返回值返回时,用户可以得到值,并使用值进行其他操作;printf只是将值输出到屏幕中,不能够得到值,也无法进行其他操作;
3)函数可以没有返回值(void),最多返回一个。

具体操作如下:

  • 1.将使用printf输出的语句改为返回值;
  • 2.返回的值的类型和函数名前面的类型相同;
  • 3.在主函数中,调用函数后,可通过变量得到值,并做其他操作。
int Sum(int n)//函数的定义
{
	/*int n;
	scanf("%d",&n);*/
	int sum = 0;
	for(int i=1;i<=n;i++)
	{
		sum += i
	}
	//printf("%d\n",sum);//不输出,改成返回
	return sum;
}
int main()      //程序的入口
{
	//Sum();    //使用(调用)函数
	//例如:sqrt()函数:通过返回值将结果返回,并没有输出
	int a = sqrt(16.0);//通过a得到sqrt()函数的值
	printf("%d\n",Sum(100)/10);
	return 0;
}

函数形式如下:
返回值 函数名(参数列表)
{
函数体
}

在此,我们可以了解到函数另一个例子:计算国民生产总值

//国民生产总值,公式:(1+r)^n
//(1+r)^n可以用循环,也可以用pow函数(推荐使用)
//pow(x,y)表示x的y次方
double GDP()
{
	double r = 0.09;
	int year = 10;
	double p = 1;
	p = pow((1+r),year);//x的y次方
	/*for(int i = 0;i<year;i++)
	{
		p *= (1+r);
	}*/
	return p;
}
int main()
{
	double a = GDP();
	printf("%f\n",a);
}

总结

  1. 在函数体编写过程中,不使用scanf和printf函数,而是添加参数列表和返回值,若函数中需要多个从主函数中所传递过来的值时,可以添加多个参数,而返回值最多一个;
  2. 在主函数中,调用函数时,要与函数一致,参数个数与函数中的参数个数、类型一致,否则程序将会编译失败,若需要返回值时,使用变量保存函数返回值,以进行后续操作。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值