初识C语言的函数

二叶草 2020年2月13日22:06:01函数代码评论阅读模式
初识C语言的函数
首先,我们要从一个故事开始
有一天,发明家发明了一个机器人,它可以帮忙清洗碗筷,只要给它指令,它就会为人们服务,一开始,一切都那么美好。
顾客:我需要洗一个碗
指令:
把碗倒干净
把碗打湿
使用洗洁精
清洗
顾客:我需要洗两个盘子和一个碗
发明家:很简单,只是简单的重复而已嘛
指令:
把盘子倒干净
把盘子打湿
使用洗洁精
清洗
把盘子倒干净
把盘子打湿
使用洗洁精
清洗
把碗倒干净
把碗打湿
使用洗洁精
清洗
好景不长,人们看到了机器人的好处,发明家的生意也越加红火,这时,问题出现了.......
顾客:我需要洗20个碗,35个盘子
发明家:(。・_・。)ノ这也许需要一点时间
诶。。我复制粘贴了多少次来着。。啊,又记错了。。重来重来。。。。。。。。。。
顾客:我需要洗100个碗,130个盘子,75个杯子,10个大桶
发明家:。。。
订单越来越巨大,发明家已经忙不过来了,然而,发明家不会因此而放弃。
发明家:I have an idea!
发明家:机器人,我和你商量件事情
机器人:嗯~好的
发明家:以后我和你说“清洗(这个东西,数目)”的时候,你就要把“这个东西”倒干净,打湿,用洗洁精,然后清洗,要完成我给你说的数目哦!
机器人:主人,明白啦!
从此之后
顾客:我需要洗100个碗
指令:
清洗(碗,100)
顾客:我需要洗100个碗,120个杯子,100个盘子
指令:
清洗(碗,100)
清洗(杯子,120)
清洗(盘子,100)
发明家:世界终于清闲了,愉快(๑•ᴗ•๑)
如果我们把电脑看做一个机器人,遇到一类虽然单调,但是需要反复多次处理的工作,使用发明家的思路,不就可以大大减轻工作量了吗?事实上正是如此,函数就是因此而生。
既然函数这么方便,我们如何使用这个技巧呢?
很简单,只需三步就可以运用函数了哦~
1
声明函数
告诉电脑,函数的名字和样子
首先,你需要弄清楚,程序中,有哪些步骤,会反复使用?这些步骤要解决的问题是什么?这些步骤需要处理什么东西?这些步骤最后得到的是什么?
构思完成后,就可以开始声明函数了哦!
格式:函数的结果类型 函数名(参数类型1 参数名称1,参数类型2 参数名称2,......参数类型n 参数名称n);
void则表示“留空”,什么都没有哦。
让我们以函数“清洗”为例,鉴于C语言只支持英文关键字和函数名称,我们使用拼音代替。
代码:
void qingxi(int dongxi,int shumu);
这样,电脑就会明白,你需要实现一个名为qingxi的函数,这个函数不会返回任何的结果,只是用来做事情。我们为不同的东西编号,这个函数需要东西类型的编号以及要洗东西的数目
2
定义函数
告诉电脑,函数要做的事情
我们在第一步已经和电脑打好了招呼,要实现一个名为qingxi的函数,但是,究竟,电脑具体要做些什么呢?这就需要对函数进行定义。
格式:
函数的结果类型 函数名(参数类型1 参数名称1,参数类型2 参数名称2,......参数类型n 参数名称n){函数体};
我们还是以qingxi为例。
代码:
void qingxi(int dongxi,int shumu)
{
int i;
for(i=0;i<shumu;i++)
{
if(dongxi==1)
{
printf("洗盘子");
}else if(dongxi==2){
printf("洗碗");
}else{
printf("洗桶");
}
}
}
做完定义的工作,函数就正式完成了哦,之后,我们想要电脑完成这些任务只要调用就好
小贴士
有返回值的函数
假如我们希望创建的函数可以为我们将运行结果交回给我们,我们就需要函数为我们返回一个值
这时,我们需要在函数体中使用return关键字。
格式:
return 结果;
如果返回值类型声明不为void的话,函数就必须有且只有一个返回值,且类型与声明时确定的类型相符。
范例
代码:
int getSum(int a,int b)
{
return a+b;
}
3
调用函数
运用我们的函数
经历了一番艰苦的奋斗,我们的函数终于完成了,下面,就是它发挥作用的时刻了。
格式:函数名(参数类型1 参数1,参数类型2 参数2,......参数类型n 参数n);
代码:
qingxi(1,100);
学会运用函数,再也不用反复复制粘贴!是不是很开心呢?~如果喜欢我们的推送,请不要忘记在页面最下方点赞哦,C语言葵花宝典栏目将在以后为大家继续推出最好玩,最好懂的C语言教程,从此妈妈再也不用担心我的C语言!

附录
完整程序范例:qingxi
代码
#include<stdio.h>
void qingxi(int dongxi,int shumu);
int main()
{
qingxi(1,20);//洗20个盘子
return 0;
/*主函数返回类型为int,
必须返回一个值。*/
}
void qingxi(int dongxi,int shumu)
{
int i;
for(i=0; i<shumu; i++)
{
if(dongxi==1)
{
printf("洗盘子");
}
else if(dongxi==2)
{
printf("洗碗");
}
else
{
printf("洗桶");
}
}
}
执行结果示意图如下:
初识C语言的函数
完整程序范例:有返回值的函数
代码:
#include<stdio.h>
int getSum(int a,int b);
int main()
{
printf("%d",getSum(10,20));
//求10和20的和
return 0;
}
int getSum(int a,int b)
{
return a+b;
}
执行结果示意图如下:
初识C语言的函数
 
 

本文来源于: 初识C语言的函数-变化吧门户
特别声明:以上文章内容仅代表作者本人观点,不代表变化吧门户观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。

  • 赞助本站
  • 微信扫一扫
  • weinxin
  • 加入Q群
  • QQ扫一扫
  • weinxin
二叶草
Go语言中的常量 函数代码

Go语言中的常量

1 概述 常量,一经定义不可更改的量。功能角度看,当出现不需要被更改的数据时,应该使用常量进行存储,例如圆周率。从语法的角度看,使用常量可以保证数据,在整个运行期间内,不会被更改。例如当前处理器的架构...
Go语言的接口 函数代码

Go语言的接口

Go语言-接口 在Go语言中,一个接口类型总是代表着某一种类型(即所有实现它的类型)的行为。一个接口类型的声明通常会包含关键字type、类型名称、关键字interface以及由花括号包裹的若干方法声明...
Go语言支持的正则语法 函数代码

Go语言支持的正则语法

1 字符 语法 说明 . 任意字符,在单行模式(s标志)下,也可以匹配换行 字符类 否定字符类 d Perl 字符类 D 否定 Perl 字符类 ASCII 字符类 否定 ASCII 字符类 pN U...
Go语言的包管理 函数代码

Go语言的包管理

1 概述 Go 语言的源码复用建立在包(package)基础之上。包通过 package, import, GOPATH 操作完成。 2 main包 Go 语言的入口 main() 函数所在的包(pa...

发表评论