第十一次课-----函数的设计原则
一、函数的设计原则
1>一个函数实现一个功能
demo1:找出下面函数的设计缺陷
//求两个数的和
void fac(void)
{
int fir = 0;
int sec = 0;
int sum = 0;
//功能1:输入
printf("请输入两个数:");
scanf("%d%d",&fir,&sec);
//功能2:计算
sum = fir + sec;
//功能3:输出
printf("%d\n",sum);
}
改进方式:删除功能1和功能3
demo2:
//求两个数的和
void fac(void)
{
int fir = 20;
int sec = 10;
int sum = 0;
//功能2:计算
sum = fir + sec;
}
demo2的缺陷:没有返回值
2>返回值的原则:如果计算有结果需要加返回值
demo3:
//求两个数的和
int fac(void)
{
int fir = 20;
int sec = 10;
int sum = 0;
//功能2:计算
sum = fir + sec;
return sum;
}
demo3的缺陷:只能计算固定两个数的和,不灵活,不通用
改进方式:增加形式参数
demo4:
//求两个数的和
int fac(int fir,int sec)
{
int sum = 0;
//功能2:计算
sum = fir + sec;
return sum;
}
3>形参的设计及原则:如果计算的过程需要有数值进行辅助, 则需要加参数。
demo4的缺陷:没有检查参数的数据异常
改进方式:
demo5:
//求两个数的和
int fac(int fir,int sec)
{
int sum = 0;
if(fir < 0 || sec < 0)
{
return -1;
}
//功能2:计算
sum = fir + sec;
return sum;
}
4>如果函数有形式参数则必须进行参数检查,检查参数是否有 异常。
通常用分支结构(选择结构)进行参数检查,如果有错误则返 回-1.
5>函数体的设计思路
第一步:定义变量
第二步:逻辑关系运用,选择结构还是循环结构还是综合运用。