软考-中级软件设计师-07 程序设计语言与语言处理程序基础
2022-05-14
07 程序设计语言与语言处理程序基础
汇编、解释、编译
- 汇编:汇编程序翻译成目标程序
- 高级语言编写的,需要解释或编译程序进行翻译
- 解释:要么直接解释执行,要么翻译为某种中间代码再执行。逐条翻译并立即执行
- 编译:分成两阶段,编译阶段(源程序翻译为独立的目标程序)和运行阶段(此时编译器不参与)
两者区别:
- 编译效率大于解释
- 解释比编译更灵活、可移植性好
变量和常量
系统为全局变量分配的存储空间在运行中一般是不改变的,为局部变量分配的存储单元是可以动态改变的
编译过程
词法(识别单词符号) - 语法(是否合法的表达式等,语法错误) - 语义(静态语义错误检查,比如整数取余是否为整数) - 中间代码生成(生成后缀式等)
文法定义
有限自动机
例题(常考):
答案:C
正规式
例题:
答案:D C
表达式
答案:D
函数调用 - 传值和传址
- 传值:不真正改变实参
- 传址:真正改变实参