软件评测师之程序设计语言【更新中……】

目录

  • 一.程序设计语言概述
  • 二.高级语言的特点及应用
    • (1)编译与解释
    • (2)编译过程
  • 三.文法
    • 正规表达式和正规集
  • 四.程序基本的控制结构
  • 五.表达式
  • 六.传址与传值

一.程序设计语言概述

程序设计语言分为低级语言和高级语言,低级语言又分为机器语言和汇编语言。

考法1:低级语言的特点

与高级程序语言相比,用机器语言精心编写的程序的特点是___.
A.程序的执行效率低,编写效率低,可读性强
B.程序的执行效率低,编写效率高,可读性差
C.程序的执行效率高,编写效率低,可读性强
D.程序的执行效率高,编写效率低,可读性差
解析:选D。

二.高级语言的特点及应用

语言 特点
Fortran语言 科学计算,执行效率高
Pascal语言 为教学而开发的,表达能力强,Delphi
C语言 指针操作能力强,高效
Lisp语言 函数式程序语言,符号处理,人工智能
C++语言 面向对象,高效
Java语言 面向对象,中间代码,跨平台
C#语言 面向对象,中间代码,.Net
Smalltalk 面向对象,程序设计语言、程序设计环境、应用开发环境
Prolog语言 逻辑推理,简洁性,表达能力,数据库和专家系统
Python语言 一种脚本语言

考法2:汇编语言及相关概念

以下关于汇编语言的叙述中,错误的是___.
A.汇编语言源程序中的指令语句将被翻译成机器代码
B.汇编语言的指令语句必须具有操作码字段,可以没有操作数字段
C.汇编程序以汇编语言源程序为输入,以机器语言表示的目标程序为输出
D.汇编程序先将源程序中的伪指令翻译成机器代码,然后再翻译指令语句
解析:选D。D选项中的伪指令错误。

考法3:高级语言的特点/应用

可用于编写独立程序和快速脚本的语言是___。
A.Python
B.Prolog
C.Java
D.C#
解析:选A.

考法4:静态/动态类型语言概述

下面关于程序语言的叙述,错误的是___.
A.脚本语言属于动态语言,其程序结构可以在运行中改变
B.脚本语言一般通过脚本引擎解释执行,不产生独立保存的目标程序
C.PHP、JavaScript属于静态语言,其所有成分可在编译时确定
D.C语言属于静态语言,其所有成分可在编译时确定
解析:选C。PHP、JavaScript属于动态语言,所有成分在编译时不明确。

(1)编译与解释

如果判断是编译程序还是解释程序呢?如果生成目标程序的就是编译程序。

考法5:编译器与解释器的区别

___属于系统软件,它直接执行高级语言源程序或与源程序等价的某种中间代码.
A.编译程序
B.预处理程序
C.汇编程序
D.解释程序
解析:选D。

考法6:反编译

已知某高级语言源程序A经编译后得到机器C上的目标程序B,则___.
A.对B进行反编译,一般不能还原出源程序A
B.对B进行反汇编,不能得到与源程序A等价的汇编程序代码
C.对B进行反编译,得到的是源程序A的变量声明和算法流程
D.对A和B进行交叉编译,可以产生在机器C上运行的动态链接库
解析:选A。

(2)编译过程

编译器的工作阶段:
源程序→词法分析语法分析语义分析→中间代码生成→代码优化→目标代码生成→目标代码【加粗的四个是一定要具备的】

词法分析:对源程序逐个字符的扫描,识别出一个个的单词;
语法分析:在词法分析的基础上按照语法规则去看这些单词的各个成分是否符合要求;
语义分析:在语法分析的基础上去检查程序的静态语义;
目标代码生成:根据语义分析输出对应的中间代码。

语义分为静态语义和动态语义。在编译时可以确定程序语法结构的是静态语义;需要去运行程序才能明确的是动态语义。

考法7:编译器必须的阶段

编译器和解释器是两种基本的高级语言处理程序。编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化,目标代码生成等阶段,其中,___并不是每个编译器都必需的。
A.词法分析各语法分析
B.语义分析和中间代码生成
C.中间代码生成和代码优化
D.代码优化和目标代码生成
解析:选C.

考法8:符号表管理和出错处理的特点

在以阶段划分的编译器中,符号表管理和___贯穿于编译器工作始终。
A.语法分析
B.语义分析
C.代码生成
D.出错处理
解析:选D。

考法9:中间代码的特点

将高级语言程序翻译为机器语言程序的过程中常引入中间代码,好处是___。
A.有利于进行反编译处理
B.有利于进行与机器无关的优化处理
C.尽早发现语法错误
D.可以简化语法和语义分析
解析:选B。

考法10:静态/动态语义的内容

若程序在运行时陷入死循环,则该情况属于___。
A.语法错误
B.运行时异常
C.动态的语义错误
D.静态的语义错误
解析:选C。

三.文法

考法11:文法的推导

已知文法G:S—A0|B1,A-S1|1,B-*S0|0,其中S是开始符号,从S出发可以推导出___。
A.所有由0构成的字符串
B.所有由1构成的字符串
C.某些0和1个数相等的字符串
D.所有0和1个数不同的字符串
解析:选C。题中的S可以用A0或者B1代替,A可以用S1或者1代替,B可以用S0或者0代替。
S=A0,A=S1或1,这时S=S10或10,S=A010=S1010……
S=B1,B=S0或0,这时S=S01或01,S=B101=S0101……

正规表达式和正规集

软件评测师之程序设计语言【更新中……】_第1张图片
考法12:理解正规表达式的含义

表示“以字符a开头且仅由字符a,b构成的所有字符串”的正规式为___.
A.a * b *
B.(a|b)*a
C.a(a|b) *
D.(ab) *
解析:选C。

四.程序基本的控制结构

五.表达式

六.传址与传值

你可能感兴趣的:(软件测评,计算机网络)