函数
模块化构建程序
返回值类型 函数名(函数参数列表);函数的声明
返回值类型 函数名(函数参数列表){return };函数的定义
=函数名(实际参数)。
函数调用的话,如果要在自带的库里调函数,要在最上面加上头文件。目前学习常用的库如下:
stdio.h标准输入输出库
常用输出:printf();
常用输入:scanf();
getchar();putchar();一个字符
gets();puts(自动换行);一串字符
math.h数学库
sqrt(x)x的平方根;
fabs/abs(x)x的绝对值;
ceil(x)对x向上取整;
floor(x)对x向下取整;
pow(x,y)x的y次方
如果自己定义函数的话,可在主函数的上方或者下方定义。语法为:
数据类型 + 函数名(输入数据类型和变量){
函数体;
返回值;
}
练习如下:自定义函数,做一个简单的计算器。代码如下:
float add(float a,float b){
return a+b;
}
float sub(float a,float b){
return a-b;
}
float cheng(float a,float b){
return a*b;
}
float chu(float a,float b){
return a/b;
}
int qu(int a,int b){
return a%b;
}
int main(){
float a,b,e;
char c,d;
for(;;){
printf("请输入计算的数字:");
scanf("%f%f%f",&a,&b,&e);
printf("请输入要进行的操作:");
getchar();
scanf("%c",&c);
if(c=='+'){
printf("结果为:%.3f\n",add(add(a,b),e));
}else if(c=='-'){
printf("结果为:%.3f\n",sub(sub(a,b),e));
}else if(c=='*'){
printf("结果为:%.3f\n",cheng(cheng(a,b),b));
}else if(c=='/'){
printf("结果为:%.3f\n",chu(chu(a,b),e));
}else{
printf("结果为:%.3f\n",qu(qu(a,b),e));
}
printf("是否继续?(y/n)");
getchar();
scanf("%c",&d);
if(d=='y'){
printf("-------------\n");
continue;
}else{
printf("谢谢使用。");
break;
}
}
return 0;
}
运行结果如下:
总结:自定义函数可以使主函数变得简洁易懂,也可以使许多复杂重复的结构变得简单。不过定义函数需多练习,才能熟练掌握。