更多“程序中的表达式语句在语义翻译时不需要回填技术。”相关问题
  • 第1题:

    程序设计语言定义的内容有(250)几个方面。

    A.语法、语义和语句

    B.语义、语句和语用

    C.语法、语义和语用

    D.语法、语用和语句


    正确答案:C
    解析:程序设计语言包含三个方面,即语法、语义和语用。语法表示程序的结构或形式,亦即表示构成程序的各个记号之间的组合规则,但不涉及这些记号的特定含义,也不涉及使用者。语义表示程序的含义,亦即表示按照各种方法所表示的各个记号的特定含义,但也不涉及使用者,语用表示程序与使用者的关系。

  • 第2题:

    编译程序一般采用(29)技术进行语义分析和生成中间代码。

    A.数据控制翻译

    B.流程控制翻译

    C.语法制导翻译

    D.面向对象的翻译


    正确答案:C
    解析:目前,编译程序一般采用语法制导翻译技术进行语义分析和生成中间代码,概括说明如下所述。根据语义分析和生成中间代码的需要,给每个文法符号设置若干个属性,用以表示它的语义信息。例如,变量可设置类型、层次、内存单元地址等;表达式可设置类型、中间代码等。然后对语言的文法进行扩充,对每条产生式编写一个语义子程序(或函数),用以计算有关文法符号的属性值,即在语法分析过程中使用这条产生式进行语法分析时,调用它的语义子程序完成相应的语义分析和翻译任务。随着语法分析的步步进展,当一条产生式获得匹配(自顶向下分析)或用于归约(自底向上分析)时,就执行这条产生式所对应的语义子程序进行翻译,这种方法称作语法制导翻译。它既适用于自顶向下分析,又适用于自底向上分析。例如,若仅把赋值语句翻译成四元式形式的中间代码,下面给出了每个产生式及相应的翻译子程序。S→id=E{p=Entry(id.name);if(p!=NULL)GEN(:=,E.place,-,p);elseerror;}E→E1+E2{E.place=newtemp;GEN(+,E1.place,E2.place,E.place);}E→E1*+E2{E.place=newtemp;GEN(*,E1.place,E2.place,E.place);}E→id{p=Entry(id.name);if(p!=NULL)E.place=p;elseerror;}

  • 第3题:

    程序设计语言的定义一般应包括______几个方面。

    A.语法、语义和语句

    B.语法、语义和语用

    C.语义、语句和语用

    D.语法、语用和语句


    正确答案:B
    解析:一般情况下,程序设计语言的定义都涉及语法、语义、语用等3个方面。①语法是指由程序语言基本符号组成程序中的各个语法成分(包括程序)的一组规则,不涉及语法成分的特定含义,也不涉及使用者。②语义是程序语言中按语法规则构成的各个语法成分的含义,但不涉及使用者。③语用表示了构成语言的各个记号和使用者的关系。故本题应该选择B。

  • 第4题:

    序中的表达式语句在语义翻译时不需要回填技术。 ()

    此题为判断题(对,错)。


    正确答案:正确

  • 第5题:

    以下关于汇编语言的叙述中,错误的是( )

    A.汇编语言源程序中的指令语句将被翻译成机器代码
    B.汇编语言的指令语句必须具有操作码字段,可以没有操作数字段
    C.汇编程序以汇编语言源程序为输入,以机器语言表示的目标程序为输出
    D.汇编程序先将源程序中的伪指令翻译成机器代码,然后在翻译指令语句

    答案:D
    解析:
    本题考查汇编语言的基本概念,伪指令是汇编程序直接执行的,不对应于程序中的机器代码,所以D是错误的。

  • 第6题:

    下面说法正确的是( )。

    A.解释程序将源程序翻译成目标语言程序,然后在计算机上运行目标程序
    B.编译程序直接解释或翻译成中间代码。不生成独立的目标程序
    C.语法分析器检查每条语句是否有正确的逻辑结构
    D.语义分析阶段分析表达式、赋值、循环、表达式的除数是否为零等

    答案:C
    解析:
    编译程序:将源程序翻译成目标语言程序,然后在计算机上运行目标程序。解释程序:直接解释或翻译成中间代码。不生成独立的目标程序。语法分析阶段:语法分析器以单词符号作为输入,分析单词符号是否形成符合语法规则的语法单位,如表达式、赋值、循环等,按语法规则分析检查每条语句是否有正确的逻辑结构。语义分析阶段:主要检查源程序是否存在语义错误,并收集类型信息供后面的代码生成阶段使用,如:赋值语句的右端和左端的类型不匹配。表达式的除数是否为零等。

  • 第7题:

    下面()语法制导翻译中,采用拉链—回填技术。

    • A、赋值语句
    • B、布尔表达式的计算
    • C、条件语句
    • D、循环语句

    正确答案:B,C,D

  • 第8题:

    在宏程序中,在条件分支语句IF[条件表达式]GOTOm中,m是()。

    • A、辅助机能
    • B、子程序号
    • C、宏程序号
    • D、顺序号

    正确答案:D

  • 第9题:

    从翻译技术的平面看,机器翻译可以分为四个层级,从低到高的排序是()

    • A、单词、句法、语义、语境
    • B、单词、语义、语境、句法
    • C、单词、句法、语境、语义
    • D、单词、语义、句法、语境

    正确答案:A

  • 第10题:

    在C程序中,函数调用不能出现在表达式语句中


    正确答案:错误

  • 第11题:

    多选题
    下面()语法制导翻译中,采用拉链—回填技术。
    A

    赋值语句

    B

    布尔表达式的计算

    C

    条件语句

    D

    循环语句


    正确答案: A,C
    解析: 暂无解析

  • 第12题:

    判断题
    程序中的表达式语句在语义翻译时不需要回填技术。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第13题:

    下列叙述中,正确的一条是 ( )

    A.语句“goto12;”是合法的

    B.for(;;)语句相当于while(1)语句

    C.if(表达式)语句中,表达式的类型只限于逻辑表达式

    D.break语句可用于程序的任何地方,以终止程序的执行


    正确答案:B

  • 第14题:

    程序设计语言的定义一般包括______几个方面。

    A.语法、语义和语句

    B.语法、语义和语用

    C.语义、语句和语用

    D.语法、语用和语句


    正确答案:B
    解析:程序设计语言用来编写计算机程序(指计算任务的处理对象和处理规则的描述),包括语法、语义、语用3个方面。语法表示程序的结构或形式,即表示构成语言的各记号间的组合规则,但不涉及这些记号的特定含义,也不涉及使用者。语义表示程序的含义,即表示按照各种方法所表示的各个记号的特定含义,但不涉及使用者。语用表示程序与使用者的关系。程序设计语言的基本成分有数据、运算、控制和传输。数据成分描述程序中所涉及的数据;运算成分描述程序中包含的运算;控制成分表达程序中的控制结构;传输成分表达程序中数据的传输。可以从不同的角度对程序设计语言进行分类,从程序语言的本质上来看,可以分为3类:机器语言、汇编语言和高级语言。机器语言是特定计算机系统所固有的语言,用机器语言编写的程序可读性很差,程序员难以修改和维护。汇编语言用助记符号来表示机器指令中操作码和操作数,汇编语言仍然是一种和计算机的机器语言十分接近的语言,它的书写格式在很大程度上取决于特定计算机的机器指令。目前已有许多流行的高级语言,如FORTRAN、COBOL、Pascal、C/C++、Java等。这类语言与人们的自然语言比较接近,大大提高了程序设计的效率。FORTRAN是第一个被广泛用于科学计算的高级语言。Algol 60是另一个早期研制出来的高级语言。它有严格的文法规则,用巴科斯范式BNF来描述语言的文法。Algol 60是一个分程序结构的语言。COBOL是一种面向事务处理的高级语言。Pascal语言提供的为数不多而又相当紧凑的机制使得该语言具有相当强的表达能力。C语言是一种通用程序设计语言。C语言作为一种较低级的语言,提供了指针和地址操作的功能。C语言提供编写结构良好的程序所需的控制结构。C语言与UNIX操作系统紧密相关,UNIX操作系统及其上的许多软件都是用C语言编写的。

  • 第15题:

    程序设计语言的定义一般应包括(57)几个方面。

    A.语义、语句和语用

    B.语法、语义和语用

    C.语法、语义和语句

    D.语法、语用和语句


    正确答案:B
    解析:语法、语义、语用通常是程序设计语言定义的3个方面。其中语用表示程序语言与使用者的关系。

  • 第16题:

    以编译方式翻译C/C++源程序的过程中,语句结构的合法性分析是( )的任务。

    A.词法分析
    B.语义分析
    C.语法分析
    D.目标代码生成

    答案:C
    解析:
    本题考查程序语言翻译基础知识。
    一般情况下,编译程序的工作过程可以分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等6个阶段,还需要有错误处理和符号表管理。其中,语法分析的任务是在词法分析的基础上,根据语言的语法规则将单词符号序列分解成各类语法单位,如"表达式"、"语句"和"程序"等。
    如果源程序中没有语法错误,语法分析后就能正确地构造出其语法树;否则就指出语法错误,并给出相应的诊断信息。词法分析和语法分析本质上都是对源程序的结构进行分析。

  • 第17题:

    以编译方式翻译 C/C++杆源程序的过程中,( )阶段的主要任务是对各条语句的结构进行合法性分析。

    A.词法分析
    B.语义分析
    C.语法分析
    D.目标代码生成

    答案:C
    解析:
    语法分析器以单词符号作为输入,分析单词符号串是否形成符合语法规则的语法单位,如表达式、赋值、循环等,按语法规则分析检查每条语句是否有正确的逻辑结构。 Int arr【2】,b; b=arr*10语法分析的方法:自上而下分析法,自下而上分析法

  • 第18题:

    以编译方式翻译C/C++源程序的过程中,判断表达式的除数是否为零是( )的任务。

    A.词法分析
    B.语义分析
    C.语法分析
    D.目标代码生成

    答案:B
    解析:
    语义分析阶段:主要检查源程序是否存在静态语义错误,并收集类型信息供后面的代码生成阶段使用,如:赋值语句的右端和左端的类型不匹配。表达式的除数是否为零等。

  • 第19题:

    某C语言程序中,m是一个整型变量,则()时遇到表达式m+"test"会报错。

    • A、词法分析
    • B、语法分析
    • C、语义分析
    • D、程序运行

    正确答案:A

  • 第20题:

    机器翻译的四个层级中,目前在翻译技术上已经能够达到的最高层级是()

    • A、单词平面
    • B、句法平面
    • C、语义平面
    • D、语境平面

    正确答案:A

  • 第21题:

    下面有关for语句的描述有错误的是()。

    • A、使用for语句时,可以省略其中的某个或多个表达式,但不能同时省略全部3个表达式
    • B、在省略for语句的某个表达式时,如果该表达式后面原来带有分号,则一定要保留它所带的分号
    • C、在for语句表达式中,可以直接定义循环变量,以简化代码
    • D、for语句的表达式可以全部省略

    正确答案:A

  • 第22题:

    单选题
    从翻译技术的平面看,机器翻译可以分为四个层级,从低到高的排序是()
    A

    单词、句法、语义、语境

    B

    单词、语义、语境、句法

    C

    单词、句法、语境、语义

    D

    单词、语义、句法、语境


    正确答案: A
    解析: 暂无解析

  • 第23题:

    单选题
    下面有关for语句的描述有错误的是()。
    A

    使用for语句时,可以省略其中的某个或多个表达式,但不能同时省略全部3个表达式

    B

    在省略for语句的某个表达式时,如果该表达式后面原来带有分号,则一定要保留它所带的分号

    C

    在for语句表达式中,可以直接定义循环变量,以简化代码

    D

    for语句的表达式可以全部省略


    正确答案: A
    解析: 暂无解析