多语言展示
当前在线:457今日阅读:172今日分享:19

如何在C语言中实现模块化

C语言是结构化语言。C语言通过函数来实现其模块化功能的。函数就是功能。每一个函数用来实现一个特定的功能。函数的名字反映其代表的功能。模块化程序设计的思路:在设计一个较大的程序时,往往把它分成若干个程序模块,每一个模块包括一个或多个函数,每一个函数实现一个特定的功能。一个C程序可由若干个其他函数构成。由主函数调用其他函数,其他函数也可相互调用。同一个函数可以被一个或多个函数任意调用多次。函数的调用很重要。
工具/原料
1

计算机一台

2

Visual C++ 6.0编程环境

方法/步骤
1

函数的定义:函数必须“先定义,后使用”。定义函数包括:            指定函数的名字;            指定函数的类型;            指定函数参数的名字和类型;            指定函数的功能,函数是做什么的,应当完成什么操作。定义函数的方法:函数有无参函数,有参函数和空函数。定义无参函数:                     类型名 函数名()  或 类型名 函数名(void)             {                      {               函数体                 函数体}                      }定义有参函数:             类型名 函数名(形式参数列表)             {函数体}定义空函数:             类型名 函数名()             {}函数体是空的。调用此函数时,什么工作也不做,没有任何实际作用。作用是占位置。

2

函数的调用:(很重要)定义函数的目的是为了调用函数,以得到预期的结果。函数调用的一般形式:                  函数名(实参表列)如果是调用无参函数,则“实参表列”可以没有,但括号不能省略。如果实参表列包含多个实参,则各参数间用逗号隔开。函数有3中调用形式:函数调用语句,把函数调用单独作为一个语句,这时不要求函数带回值,只要求完成一定的操作。函数表达式,函数调用出现在另一个表达式中,是赋值表达式的一部分。要求函数带回一个确定的值以参加表达式的运算。函数参数,函数调用作为另一个函数调用时的实参。

3

函数调用时的数据传递:在调用有参函数时,主调函数与被调用函数之间有数据传递关系。形式参数简称形参:定义函数时函数名后面括号中的变量名。实际参数简称实参:在主调函数中调用函数时,函数名后面括号中的参数。【注】:在调用函数过程中,系统会把实参的值传递给被调用函数的形参。或者说,形参从实参得到一个值,进行运算。形参和实参间的数据传递这叫【虚实结合】。函数调用的过程:在定义函数中指定实参,在未出现函数调用时,形参不占内存中的存储单元。在调用时,函数中的形参才被临时分配内存单元,不是分配临时单元。将实参的值传给形参。利用形参进行相关运算。通过return语句把函数值带回到主调函数。【注】返回值类型与主函数中调用函数的类型一致,如果不一致,按主函数中的调用函数的类型一致。调用结束,形参单元被释放。【注】实参单元保留并维持原值。如果执行一个被调函数时,形参的值会发生变化,不会改变主调函数实参的值。【注】:实参向形参的数据传递是值传递,单向传递。

4

函数的嵌套调用:C语言中,函数的定义时互相平行、独立的,即在一个函数内不能再定义另一个函数,不能嵌套定义但可以嵌套调用。在一个函数中可以嵌套调用另一个函数。

5

函数的递归调用:在调用一个函数的过程中又出现直接或间接的调用该函数本身,称为函数的递归调用。这是C语言的一个特点。问题:有5个学术坐在一起,问第五个学生多少岁?他说比第四个学生大2岁。第四个学生比第三个学生大五岁,第三个学生比第二个学生大2岁,第二个学生比第一个学生大2岁。第一个学生10岁。

6

综合举例:用递归方法求n!如图所示:

注意事项
1

【注】:实参向形参的数据传递是值传递,单向传递。

2

【注】返回值类型与主函数中调用函数的类型一致,如果不一致,按主函数中的调用函数的类型一致。

推荐信息