位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

C语言 函数的设计原则

提问人:刘团圆发布时间:2020-11-30

因为C语言的函数实现的是模块的功能,所以模块设计原则也适用于函数的设计。设计函数时,最主要注意以下几点:

(1)函数功能独立

    每一个函数应该只实现一个特定的独立功能,例如求阶乘函数只实现阶乘功能,不能在此函数中实现其他功能。每一个函数与其他函数的关系除了调用关系外,不能再有其他关系,这样才能够在修改 函数时,不对其他函数造成影响。除了形参提供给外部的调用接口外,尽量不要使用全局变量等,以免受到外部的数据约束。

(2)函数的规模应大小适中

    函数不能太大也不能太小。规模太大的函数,可以考虑分解成若干个小函数实现。而规模太小的函数,如只有一条语句,可以考虑将该函数撤销,直接用语句实现。一个函数中也不要实现太多功能,因为不利于代码重用。如上例求组合数中,如果在fac()函数中加入数据输入或输出的功能,那么在调用fac()时必然要求输入并且将结果输出。可是有些结果不需要输出,只在计算中出现,所以这样的fac()函数反而不利于实现代码重用性。因此要求设计函数时,功能尽量简洁,也就是说只实现最基本的功能即可。

    函数的规模也不可过小,过小没有意义,如上例中将变量值输入也定义为一个函数:

int read(int x)

{

    scanf("%d",&x);

    return x;

}

需要对变量输入数据时,调用该函数:

m=read(m); 

n=readtn);

这样其实没有太大的实际意义,不但没有简化程序,反而增加了函数调用语句,增加代码量。

(3)注意函数的层次不能过多

    在函数设计中,常常为了实现一个函数,必须在该函数内再调用另一个函数,称为函数的嵌套,这样就出现了如图所示的层次关系。

    从图中可看到,从main()函数开始,整个程序分为4层,C语言中对于函数的嵌套层次并没有限制,但一般实际设计程序中,考虑到结构清晰性及内存的限制,一个程序中的函数层次不可过多。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部