重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
通常把能实现某一功能操作或运算的部分抽出来,写成函数。
创新互联公司云计算的互联网服务提供商,拥有超过13年的服务器租用、绵阳服务器托管、云服务器、虚拟主机、网站系统开发经验,已先后获得国家工业和信息化部颁发的互联网数据中心业务许可证。专业提供云主机、虚拟主机、主机域名、VPS主机、云服务器、香港云服务器、免备案服务器等。
函数声明与定义的好处是 主程序 比较简洁,阅读性强。特别是在需要多次调用的情况下,写成函数则更好。
你的程序中,函数功能是实现两个变量相减,返回它们的差。
MINUS( 9 , 4 ); 阅读性强,MINUS 是英文“减”,容易联想到 9-4 减法得多少。
程序总行数少了 -- 比较简洁。
由于程序比较简单,优越性不明显。设想,如果函数用来计算一个积分,或用来计算一个快速傅里叶变换,或迭代法解一个方程。。。而且主程序中还要多次调用,优越性就明显了。
采用函数,还有好处,特别是很大的程序,可以多人合作写程序,提高了工作效率,节省了时间。例如小张编写积分函数,小李编写迭代法解一个方程,你写主程序。你的主程序里 只要写函数调用--写函数名,填入实际参数就成了。-- 实际上,我们用的库程序,全是别人写的,例如 printf(),scanf(), 我们只管调用,。。。大大提高了工作效率,节省了时间和成本。
C语言中的函数的作用是可以将一段经常需要使用的代码封装起来,在需要使用时可以直接调用。
示例:
语言的函数定义和函数声明
#includestdio.h
//使用函数前,需要在main函数前对使用的函数进行声明
int getMax(int, int);
void main() {
int t=getMax(12, 21);
printf("%d\n", t);
getchar();
}
int getMax(int a, int b) {
if (a b) {
return a;
}
else {
return b;
}
}
扩展资料
scanf 函数
函数原型:int scanf(char *format [,argument,...])
功能:从标准输入设备(一般指键盘)实现格式化输入
返回值:成功返回读入的数据项个数
函数参数:format 格式化字符串
argument 输入数据项的地址列表
常用格式类型参考printf函数的个格式类型
用法举例:
从标准输入设备中输入一个整数到整形变量a中,输入一个浮点数到浮点型变量b中
int a=0;
float b=0;
scanf("%d%f",a,b);
上面程序执行后,从键盘输入: 19 18.6 ,程序将 19赋值给变量a, 18.6赋值给变量b 。
就是告诉编译器,这个函数已经存在,和这个函数具体是什么格式的,名称是什么,返回值是什么,数据个数和类型分别是什么,以后在用到这个函数的时候编译器就按照这个声明的格式来检查函数的使用是否正确 。
什么是声明:有两重含义,如下:
第一重含义:告诉编译器,这个名字已经匹配到一块内存上了(伊人已嫁,吾将何去何
从?何以解忧,唯有稀粥),下面的代码用到变量或对象是在别的地方定义的.声明可以出
现多次.
第二重含义:告诉编译器,我这个名字我先预定了,别的地方再也不能用它来作为变量
名或对象名.比如你在图书馆自习室的某个座位上放了一本书,表明这个座位已经有人预
订,别人再也不允许使用这个座位.其实这个时候你本人并没有坐在这个座位上.这种声
明最典型的例子就是函数参数的声明,例如:
void fun(int i, char c);好,这样一解释,我们可以很清楚的判断:a)是定义;b)是声明.
比如 a 函数中要调用 b 函数,b 函数又要调用 a 函数(这很常见)。因为 C 语言对函数的顺序是有要求的,写在后面的函数才能调用前面的函数。这样一来,无论是 a 在前面还是 b 在前面都无法实现,所以就可以先单独声明 a 和 b,然后在后面再具体实现 a 和 b。
C语言的编译是自顶向下进行的。
这是由C语言的编译器规定的。你可以认为C语言的编译器,就是把你写的C语言代码翻译成计算机能懂的语言的翻译者。翻译者在读你的代码的时候,是从第一行开始向下读的。你写的函数声明,就是告诉翻译者,你定义了一个函数。你写的函数体,就是在告诉翻译者,这个函数声明代表的函数是什么样子的。