趣味编程之函数

 初学编程的同学们可能对函数比较抵触,明明我本来就能完成的事情,一用函数就出了很多错。

我们小区门口经常有人用小扩音器放:“回收旧手机,旧手机换菜刀,换剪子,换盆!”

其实也可能换毛巾,换拖把。

如果直接用C++来写就是:

#include<iostream>
using namespace std;
int main(){
	cout<<"回收旧手机,旧手机";
	cout<<"换菜刀";
	cout<<"换剪子"; 
	cout<<"换盆";
}

如果想要广播出去换别的东西,就要改上面的代码。也可以写成函数:

void change(string s){
	cout<<"换"+s;
}

这就叫做函数的声明,是不是很简单,change叫函数名,s叫形式参数,string是形式参数的类型。cout<<"换"+s;叫做函数体,也就是函数一队“{”“}”之间的代码段。void表示只执行函数体,并不返回其他信息。函数声明结束了,如何调用呢?

change("毛巾");

这样就可以调用了。也就是说在main函数中调用已经声明好的函数,需要函数名,而“毛巾”是实际的参数。实际参数是函数调用时实实在在的要换的东西,把它传递给形式参数s,就会输出换毛巾。我们看一下完整的代码:

#include<iostream>
using namespace std;
void change(string s){
	cout<<"换"+s;
}
int main(){
	cout<<"回收旧手机,旧手机";
	cout<<"换菜刀";
	cout<<"换剪子"; 
	cout<<"换盆";
	change("毛巾");
}

输出结果:

上面我们聊了聊函数的参数,其实还有一个很重要的东西叫返回值。

上一年级的小明同学在数学课上,老师提问5+6等于多少?小明虽然数学不好,但是很机灵,他从家里带了计算器。但不小心开了外音,计算器清晰的传出五加六等于十一。以上的场景可以用如下代码描述:

#include<iostream>
using namespace std;
void add(int a,int b){
	int sum=a+b; 
	cout<<a<<"加"<<b<<"等于"<<sum;
}
int main(){
	add(5,6);
}

虽然结果是对的,但是小明很尴尬啊。小明只想要看到结果,然后自己回答老师。所以程序应该是这样的。

#include<iostream>
using namespace std;
int add(int a,int b){
	int sum=a+b; 
	return sum;
}
int main(){
	int x=5;
	int y=6;
	int s=add(x,y);
	cout<<x<<"加"<<y<<"等于"<<s;
}

这里我故意把程序写的比较啰嗦,我们把main()看做小明本人。add()看做计算器。先看我们熟悉的知识点,add是函数名,int a,int b是两个形式参数。x,y则是实际参数,当x,y传递给a,b后,计算器得出了结果sum=11,但并不直接输出,而是用return语句把sum返回。返回到哪里呢?返回给了调用add的表达式,也就是add(x,y),这个表达式等于11,则int s=11;可以理解成小明把5,6传给了计算器,计算器把11给了小明,最后小明自己说出结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值