重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
函数是用户与程序的接口,在定义一个函数前,首先要清楚以下三个问题。1) 函数的功能实现及算法选择。算法选择会在后续文章详细讲解,本节重点关注函数的功能实现。一般选取能体现函数功能的函数名,且见名知意,如求和函数的函数名可取为 add,求最大值的函数名可取为 max,排序函数可取名为 sort 等。2) 需要用户传给该函数哪些参数、什么类型,即函数参数。3) 函数执行完后返回给调用者的参数及类型,即函数返回值类型。 函教定义格式 函数定义的一般格式为: 返回类型 函数名 (类型参数1,类型参数2,…) {函数体 }也可以不含参数,不含参数时,参数表中可写关键字 void 或省略,为规范起见,教程中对没有参数的函数,参数表中统一写 void。例如: 类型 函数名 () {函数体 }等价于: 类型 函数名 (void) //建议的书写方式 {函数体 } 如果该函数没有返回类型,则为 void 类型。例如: void add (int x,int y) {printf ("sum=%d\n", x+y); } 除了 void 类型外,在函数体中,均需要显式使用 return 语句返回对应的表达式的值。 函教返回值 函数的值是指调用函数结束时,执行函数体所得并返回给主调函数的值。 关于函数返回值说明如下。1) 带返回值的函数,其值一般使用 return 语句返回给调用者。其格式为: return 表达式;或者 return (表达式);例如: int add (int a, int b) {return (a + b); //return 后为表达式 } 函数可以含一个或多个 return 语句,但每次调用时只能执行其中一个 return 语句。例如,求整数绝对值的函数: int f (int n) //含多个return语句,但每次调用只执行一个 {if (n = 0)return n;elsereturn -n; }
创新互联-专业网站定制、快速模板网站建设、高性价比丰都网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式丰都网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖丰都地区。费用合理售后完善,10多年实体公司更值得信赖。
c语言中一个完整的函数由函数首部和函数体构成,而且定义函数时两者都是必不可少的。
函数定义的一般形式如下:
类型标识符
函数名(形参表列)
//
这是函数首部
//
以下{
}内的是函数体
{
说明部分
执行部分
}
举例说明如下:
//
定义一个不带返回值的函数
//
函数功能:输出形参的值
void
fun(int
a,
int
b)
{
printf("%d,
%d\n",
a,
b);
}
//
定义一个带返回值的函数
//
函数功能:返回2个整数数的最大值
int
fun(int
a,
int
b)
{
return
ab
?
a
:
b;
}
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
2、在test.cpp文件中,输入C语言代码:int fun(){return 1;}。
3、编译器运行test.cpp文件,此时成功调用fun()函数输出了内容。
在使用一个函数之前必须先对他进行声明: //void B();声明B函数的存在。void A(){B();//非法,程序执行到此时并不知道B函数的存在。
#include stdio.h
#include stdlib.h
/******start******/
int GetMax(int x, int y);
int GetMin(int x, int y);
int GetAverage(int x, int y);
/******end******/
int main()
{ int Number1 = 0,Number2 = 0;
int Result[3], i = 0;
//Result数组用来存存储的最大值,最小值和平均值
printf("output:\ninput two numbers:\n");
scanf("%d%d", Number1, Number2);
if(Number1 == Number2)
{ printf("输入二个不同的数字:\n");
return 0;
} /*在start和end之间完成函数的调用和参数的传递以及返回值的存储*/ /******start******/
Result[0]=GetMax(Number1 , Number2);
Result[1]=GetMin(Number1 , Number2);
Result[2]=GetAverage(Number1 , Number2);
/******end******/
printf("\n最大数 最小数 平均值\n");
for (i = 0; i 3; i++)
{ printf("%6d", Result[i]);
}
printf("\n");
return 0;
}
//取最大值函数
int GetMax(int x, int y)
{ return (x y) ? x : y;
}
//取最小值函数
int GetMin(int x, int y)
{ return (x y) ? y : x;
}
//取平均值函数
int GetAverage(int x, int y)
{ return (x + y) / 2;
}