软件设计师 知识点拾遗 程序语言基础知识

软件设计师 知识点拾遗 程序语言基础知识

  1. 2016年上半年第20题

  题目中出现的几个概念的具体内涵如下所示:

  • 编译程序:将整个源代码一次性翻译成目标代码的程序,可以生成一个独立的执行文件,在执行时无需源代码。
  • 解释程序:逐行读取源代码,实时翻译并控制执行,不生成独立的目标文件。
  • 编译方式:指通过编译程序处理代码的完整流程,即编译->链接->运行。其特点是效率高,因为运行时没有翻译的开销,但是跨平台需要重新编译。
  • 解释方式:指通过解释程序直接执行源代码的流程,即逐行翻译+执行。和编译方式相对,解释方式的跨平台性能很好。

  此外,需要了解的是,编译过程即词法分析(生成2元组)->语法分析(生成语法树)->语义分析(判断代码有无逻辑谬误)->中间代码生成(生成不依靠特定机器的中间表示)->代码优化->目标代码(针对于特定机器)生成6个阶段。


  1. 2016年上半年第21题

  脚本语言​​是一类语言的统称,这种语言具有以下特点:

特性 说明 示例(Python)
解释执行 通过解释器实时运行,不生成独立可执行文件 python script.py
动态类型 变量类型在运行时自动推断 x = 10(无需声明int x
胶水语言 可轻松调用其他程序或库(如Shell调用系统命令) os.system("ls")
快速开发 语法简洁,适合小型项目或快速验证想法 用5行代码实现文件处理
跨平台性 依赖解释器而非硬件,同一脚本可在不同系统运行 Python脚本在Windows/Linux通用

  1. 2015年上半年第22题
  • 代码区:存放函数体的二进制代码。
  • 栈区:由编译器自动分配释放,存放函数的参数值、局部变量的值等。
  • 堆区:一般由程序员分配释放,若程序员不释放,程序结束时可能由操作系统回收。
  • 静态数据区:内存在程序启动的时候才被分配,而且可能直到程序开始执行的时候才被初始化,所分配的内存在程序的整个运行期间都存在,如全局变量、static变量等。

目标代码生成阶段应考虑直接影响目标代码速度的三个问题:一是如何生成较短的目标代码;二是如何充分利用计算机中的寄存器,以减少目标代码访问存储单元的次数;三是如何充分利用计算机指令系统的特点,以提高目标代码的质量。


软件设计师 知识点拾遗 程序语言基础知识
http://example.com/2025/05/14/note40/
作者
谢斐
发布于
2025年5月14日
许可协议