什么是子程序?

2025-10-16 07:50:25174

什么是子程序?

compiler designprogramming languagescomputer programming更新于 2025/9/30 1:37:17

子程序是指一组可以在程序中多个位置方便地重复使用的语句。这种重复使用可以节省多种成本,包括内存空间和编码时间。这种重用也是一种抽象,因为子程序的分析计算是通过调用子程序的语句在程序中恢复的。

子程序的特点

子程序的特点如下 −

子程序只有一个入口点。

调用方在被调用子程序执行期间处于暂停状态。

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

子程序的类型

子程序有两种类型,如下 −

过程 − 过程定义为定义参数化计算的子程序。这些计算由单独的调用语句执行。过程代表新的语句。例如,由于 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

}

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

相关文章

Convert the following LEX program into Lexical Analyzer.\AUXILIARY DEFINITIONS\ −\ −\ −\TRANSLATION RULES\ a{ }\ abb{ }\ a*b+

在编译器设计中,块结构化语言的实现是什么?

编译器设计中的语法制导翻译方案是什么?

什么是块结构?

什么是过程调用的堆栈分配?

简单堆栈分配方案的实现

什么是堆分配?

什么是堆栈分配?

什么是静态分配?

描述编程语言设计中影响存储管理的问题?

打印

下一节 ❯❮ 上一节