题目:创建一个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、我这个函数做完工作后,需要反馈给外界什么?对应的是函数类型,也就是函数的输出,一个函数可有有零个或一个输出(需要多个输出的时候我们可以用全局变量或结构体或数组)。
当然,最重要的是,你要思考为啥要创建函数,函数的作用主要还是把一些功能化的代码或重复性的代码提出出来,让我们的代码更加优雅、简洁、锋利。
比如,我们可以把上课这个功能提取成函数,那就要思考:“上课”这个函数名称是什么?我要从外界获取什么参数?“上课”需要执行什么函数体?函数执行完后需要反馈什么消息给调用者?
注意,函数的注释至少包括以下三个:
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;
}
代码:
效果: