免费智能真题库 > 历年试卷 > 程序员 > 2009年上半年 程序员 上午试卷 综合知识
  第28题      
  知识点:   计算机软件系统   高级语言   中间代码
  关键词:   高级语言   系统软件   源程序   中间代码   语言        章/节:   软件基础知识       

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

 
  第26题    2009年下半年  
   28%
在操作系统的进程管理中,若系统中有10个进程使用互斥资源R,每次只允许3个进程进入互斥段(临界区),则信号量S的变化范围是(2..
  第33题    2010年下半年  
   61%
某C语言程序中,m是一个整型变量,则(33)时遇到表达式m+"test"会报错。
  第24题    2019年上半年  
   79%
“从减少成本和缩短研发周期考虑,为使系统能运行在不同的微处理器平台上,要求能针对硬件变化进行结构与功能上的配置”属于嵌入..
   知识点讲解    
   · 计算机软件系统    · 高级语言    · 中间代码
 
       计算机软件系统
        计算机软件是指为管理、运行、维护及应用计算机所开发的程序和相关文档的集合。其中,程序是让计算机硬件完成特定功能的指令序列,数据是程序处理的对象。计算机软件通常分为系统软件和应用软件。
        1)系统软件
        系统软件是指那些为计算机所配置的、用于完成计算机硬件资源的控制与管理,为用户提供操作界面,以及为专业人员提供开发工具和环境的软件,如操作系统、程序设计语言,以及处理程序、数据库管理系统、实用程序与软件工具。
        2)应用软件
        应用软件是指用于解决各种不同的具体应用问题的专门软件。应用软件可以分为通用软件和定制软件,如文字处理软件、电子表格软件、图形图像软件、网络通信软件、简报软件、统计软件等。
 
       高级语言
        不论是机器语言还是汇编语言都是面向硬件的具体操作的,语言对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分熟悉,非计算机专业人员是难以做到的,对于计算机的推广应用是不利的。计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。高级语言是面向用户的语言,每一种高级(程序设计)语言,都有自己人为规定的专用符号、英文单词、语法规则和语句结构(书写格式)。高级语言与自然语言(英语)更接近,而与硬件功能相分离(彻底脱离了具体的指令系统),便于广大用户掌握和使用。高级语言的通用性强,兼容性好,便于移植。
        高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言。它又可分为面向过程的语言和面向问题的语言,前者在编程时不仅要告诉计算机“做什么”,而且要告诉计算机“怎么做”,如Basic,Pascal, Fortran, C等高级语言。后者只要告诉计算机做什么,如Lisp,Prolog等高级语言,也常称为人工智能语言。
 
       中间代码
        从原理上讲,对源程序进行语义分析之后就可以直接生成目标代码,但由于源程序与目标代码的逻辑结构往往差别很大,特别是考虑到具体机器指令系统的特点,要使翻译一次到位很困难,而且用语法制导方式机械生成的目标代码往往是烦琐和低效的,因此有必要设计一种中间代码,将源程序首先翻译成中间代码表示形式,以利于进行与机器无关的优化处理。由于中间代码实际上也起着编译器前端和后端的分水岭作用,所以使用中间代码也有助于提高编译程序的可移植性。常用的中间代码有后缀式、四元式和树等形式。
        (1)后缀式(逆波兰式)。逆波兰式是波兰逻辑学家卢卡西维奇(Lukasiewicz)发明的一种表示表达式的方法。这种表示方式把运算符写在运算对象的后面,例如,把a+b写成ab+,所以也称为后缀式。这种表示法的优点是根据运算对象和算符的出现次序进行计算,不需要使用括号,也便于用栈实现求值。对于表达式x:=(a+b)*(c+d),其后缀式为xab+cd+*:=。
        (2)树形表示。例如,表达式x:=(a+b)*(c+d)的树形表示如下图所示。
        
        表达式的树形表示
        (3)四元式表示。四元式是一种普遍采用的中间代码形式,其组成成分为运算符OP、第一运算对象ARG1、第二运算对象ARG2和运算结果RESULT。其中,运算对象和运算结果有时指用户自定义的变量,有时指编译程序引入的临时变量,RESULT总是一个新引进的临时变量,用来存放运算结果。例如,表达式x:=(a+b)*(c+d)的四元式表示为:
        ①(+,a,b,t1)②(+,c,d,t2)③(*,t1,t2,t3)④(:=,t3,_,x)
   题号导航      2009年上半年 程序员 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第28题    在手机中做本题