什么是子程序?


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

子程序的特性

子程序的特性如下:

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

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

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

子程序的类型

子程序主要分为两种类型:

  • 过程 - 过程被定义为一个子程序,它定义参数化的计算。这些计算由单个调用语句执行。过程代表新的语句。例如,因为 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
}

函数有两个元素:规范和主体。函数规范以返回类型开头,后面跟着函数名称和参数列表。函数体以 { 开始,以 } 结束。函数体包含三个部分,例如声明部分、可执行部分和可选的异常处理部分。

更新于:2021年10月23日

11K+ 浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告