什么是子程序?

子程序被定义为一组语句,可以在方便时在程序的多个位置重复使用。这种重用导致多种类型的节省,从内存空间到编码时间。这种重用也是一种抽象,因为子程序的分析通过调用子程序的语句在程序中恢复计算。

子程序的特点

子程序的特点如下 -

  • 子程序只有一个入口点。

  • 调用方在被调用子程序的执行过程中被挂起。

  • 当被调用子程序的执行消除时,控制权反复返回给调用者。

子程序类型

有两种类型的子程序如下 -

  • 程序- 程序被定义为定义参数化计算的子程序。这些计算由单独的调用语句执行。过程代表新的语句。例如,因为 Pascal 没有排序语句,用户可以开发一个过程来对记录数组进行排序,并使用对该过程的调用来代替不可用的排序语句。

Pascal 中过程的一般语法如下

PROCEDURE Name of Procedure (formal parameter list); {local declaration section}
BEGIN
{instruction sequence}
END;
{end of procedure}

声明意味着一个过程有两个部分,即规范和主体。过程规范以关键字 PROCEDURE 开始,以过程名称或参数列表结束。参数声明是可选的。不带参数的过程是不带括号的。

过程主体以关键字 BEGIN 开始,以关键字 END 结束,后跟可选的过程名称。过程体具有声明部分、可执行部分和可选的异常处理部分三个要素。

  • 函数- 函数是评估值的子程序。功能和过程的结构相同,除了

    • 函数在语义上建模为数学函数。

    • 函数有一个 RETURN 子句。

    • 函数不会产生副作用,即,它既不会更改其参数,也不会更改函数外部定义的任何变量。

C 中函数的一般语法如下

RETURN TYPE Name of Function (formal parameter list){
   local declaration section
   ……………….
   ……………….
   instruction sequence
}

一个函数有两个元素,即规范和函数体。函数规范以返回类型开始,后跟函数名称和参数列表。函数体以 { 开始,以} 结束。函数体由声明部分、可执行部分和可选的异常处理部分三部分组成。