c语言程序设计 第七章函数,《C语言程序设计》第七章随堂练习:自定义函数

题目:创建一个C语言控制台程序,除了main函数外,自定义两个被调用的函数,并要求至少有一个函数包含有参数。

解答:

首先我们要了解,函数包含哪些组成结构,有四个部分,分别是:函数类型、函数名称、函数参数、函数体

int main(int s) // 1、int 为函数的类型,2、main 为函数的名称 ,3、int s 为函数的参数

{

printf("hello world"); //4、这里的两句为函数的执行结构,或函数体

return 0; //是否有返回值要参考 函数的类型,如果是void类型则没有return

}

我们定义一个函数,要思考的是:

1、我这个函数的名称是什么?对应的是函数名称。

2、我这个函数需要从外界获取什么?对应的是函数参数,也就是函数的输入,一个函数可以有零个或多个输入。

3、我这个函数需要做些什么?对应的是函数体。

4、我这个函数做完工作后,需要反馈给外界什么?对应的是函数类型,也就是函数的输出,一个函数可有有零个或一个输出(需要多个输出的时候我们可以用全局变量或结构体或数组)。

当然,最重要的是,你要思考为啥要创建函数,函数的作用主要还是把一些功能化的代码或重复性的代码提出出来,让我们的代码更加优雅、简洁、锋利。

19ee0123ae847b7b05ae1961609a303a.png

比如,我们可以把上课这个功能提取成函数,那就要思考:“上课”这个函数名称是什么?我要从外界获取什么参数?“上课”需要执行什么函数体?函数执行完后需要反馈什么消息给调用者?

注意,函数的注释至少包括以下三个:

1、用途:你这个函数是干嘛的。

2、输入:输入的是什么数据类型格式,代表的是什么。

3、输出:输出的是什么数据类型格式,代表的是什么。

为啥要写清楚输入和输出呢?因为大部分开发中,很多函数我们是没有参与写的过程的,而都是其他人写的,同样,你写的函数,别人也不需要知道函数体是什么内容(特别是很多函数都已经被封装起来了),只需要知道:函数的名称,函数是干嘛的,我调用你这个函数要输入什么东西,我调用完你这个函数可以得到什么东西。

/*

*作者:刘日辉

*用途:上课

*输入:一维字符数组,代表的是:上课教室名称

*输出:整形,代表的是:1上课成功,0找不到教室,-1课程取消

*/

int onClass(char className[])

{

if()//括号里面写具体的判断情况

{

printf("上课成功,地点是%s\n",className);

return 1;

}

else if()//括号里面写具体的判断情况

{

printf("找不到教室%s\n",className);

return 0;

}

else if()//括号里面写具体的判断情况

{

printf("老师说不用上课了\n");

return -1;

}

}

比如“开灯”这个函数,别人通过告诉你开教室里面的第几盏灯,你执行完后反馈给别人是开灯的结果:

/*

*作者:刘日辉

*用途:打开教室的灯

*输入:整形,具体开哪一盏灯

*输出:整形,开灯的结果,1代表开灯成功,0代表没有电了

*/

int OnTheLight(int lightIndex)

{

//我这不做判断了,现实生活中,我们要根据不同的代码情况来得出不同的返回值

printf("已经开灯了,灯的号数是%d",lightIndex);

return 1;

}

代码:

a623df68ee7b1991974bc208b538b978.png

效果:

92b5f8ce2c8382301bdc0625f6e2cc2f.png

68ce2ec8ed0e4e6fb5f8b25a890ed632.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值