面包车电瓶:到底什么是C语言的函数?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/05 23:55:22
如题,现在自学C语言,对函数的概念很模糊,请教大家这个问题.最好能形象的说明一下~

最简单的理解,函数就是一个子程序
或者说是程序的模块、零件

把一些代码封装起来,给他们起个名字(函数名)
到时候要用到这些代码的时候,引用用他们的名字就可以了
所谓的函数的参数,就是引用这些代码模块的时候,需要这些模块处理的数据;而函数的返回值,就是处理的结果。

C是面向过程的语言,函数是组成C程序的基本单元。

例如,我定义一个函数
int Add(int i)
{
return i+1;
}
其功能是,取得i的值,返回i+1的值
我在主程序中就可以这样调用这个函数
int main(void)
{
int a=1;
a=Add(a);
printf("%d",a);
return 0;
}
程序执行的结果就是2;

同样,我要是定义这样一个无参函数
void foo(void)
{
printf("I am a function");
}
其功能是打印一行字
那么这样的主程序:
int main(void)
{
foo();
return 0;
}
其执行结果就是一行"I am a function"

不知说明白没,呵呵,还有不解可以提出,我的qq226527085

个人觉得函数其实就是一种计算法则!
函数有自己的格式,一般教材都有详细的说明与举例!
你在函数里添入符合要求的东西,不一定是数字哈!它会按照他的计算法则,给出结果!就像你做方程求解,函数就是你输入数据,他直接给结果省去中间过程!
还有就是main()这个主函数,这个函数是也是格式化的,他的出现表示你这个是一个程序!
到后来你还要学到字定义函数,这样的函数,就跟前面说的函数没什么区别了,只是算法有你自己定义!
函数最主要的就是算法,及起结果!

C语言的一个函数,就是C语言的一个子程序。

C语言的程序结构是块状的:
(1)头文件块, 例如:
//--------------------
#include <stdio.h>
#include <stdlib.h>
全局量说明
//--------------------
(2)主程序块,例如:
void main()
{
变量说明
语句
}
//--------------------
(3)子程序1说明块 -- 或叫函数1,例如:
void sub_A(float f, int n)
{
变量说明
语句
}
(4)子程序2说明块
....
( ) 子程序n说明块
int sub_N(double d, int k)
{
变量说明
语句
}
//---------------------

一个程序必须有一个主程序块,名字叫main(),而且只能有一个主程序块。

一个程序可以没有子程序,也可以有任意多个子程序。子程序可以有返回值,也可以没有返回值。

子程序说明块用来描述如何根据给入的材料,生产某种产品的方法。

只有在调用某子程序时,才真正执行该子程序。

通常只有那些须反复用到的计算过程,才用子程序的方法来写。例如,经常要解一元二次方程y= a*x^2 + b*x + c, 每次的a,b,c都不一样,就可写一个子程序:

int funcA(float a, float b, float c, float *y1, float *y2)
{
int good = 1;
float r;
r = b*b - 4.0 * a * c;
if (r < 0) { *y1= 9999.0; *y2=9999.0; return 0;}
*y1 = ...;
*y2 = ...;
return good;
}

调用1:
status = funcA(a1,b1,c1,&ya1,&ya2);
if (status == 0){ 打印,"无实数解"}
else {打印解 ya1,ya2};

调用2:
status = funcA(a2,b2,c2,&yb1,&yb2);
if (status == 0){ 打印,"无实数解"}
else {打印解 yb1,yb2};

调用写在主程序里。
复杂的程序,也可能从甲子程序调乙子程,乙子程调丙子程。

→C语言函数
http://www.bccn.net/bbs/Article/20061/12/42508.html
http://www.24xuexi.com/computer/pro/c/hsk/

函数是可以实现特定功能的一小段程序。使用函数,有助于程序代码的重用和整个程序的结构化。...

//--------------------
#include <stdio.h>
#include <stdlib.h>
全局量说明