一、函数的好处
1.模块化的设计思路
2.避免代码冗长
二、函数三要素
三、函数的封装和调用
简单的加法运算
#include <stdio.h>
//三要素: 返回值,参数列表,功能
int add(int data1, int data2, int data3)//函数原型
{
int ret;
ret = data1 + data2 + data3;
return ret;
}
int main()
{
int x;
int y;
int z;
int fret;
//int ret;
puts("请输入一个数:");
scanf("%d",&x);
puts("请再输入一个数:");
scanf("%d",&y);
puts("请再输入一个数:");
scanf("%d",&z);
fret = add(x,y,z)+100;
printf("%d+%d+%d=%d\n",x,y,z,add(x,y,z));
printf("FRET=%d\n",fret);
return 0;
}
四、形参和实参的区别
变量四要素:名、类型、值、地址
形式参数需要包含变量类型,变量名(变量名非必须)
五、函数编程案例
比较两个数的值
#include <stdio.h>
float getBigDataFromTwo(float x, float y)
{
int z;
if(x > y){
z = x;
}else{
z = y;
}
return z;
}
int main()
{
float data1;
float data2;
float bigOne;
//输入两个数
//提示输入
puts("请输入两个数:");
//获取输入
scanf("%f%f",&data1,&data2);
//函数调用
bigOne = getBigDataFromTwo(data1, data2);
//输出结果
printf("两个数据是%.2f,%.2f,大数是:%.2f\n",data1,data2,bigOne);
return 0;
}
5.1函数编程过程中要注意的一些小细节
六、函数的嵌套及其实战
#include <stdio.h>
int getTheBigFromTwo(int data1, int data2)
{
int bigger;
bigger = data1>data2 ? data1:data2;
return bigger;
}
int getMaxDataFromFour(int a, int b, int c, int d)
{
int max;
max = getTheBigFromTwo(a,b);
max = getTheBigFromTwo(max,c);
max = getTheBigFromTwo(max,d);
return max;
}
int main()
{
int data1;
int data2;
int data3;
int data4;
int theBigOne;
puts("please Input Four nums:");
scanf("%d%d%d%d",&data1,&data2,&data3,&data4);
theBigOne = getMaxDataFromFour(data1,data2,data3,data4);
printf("the biggest is %d\n",theBigOne);
return 0;
}