itgle.com
更多“C语言的编译系统对宏命令的处理是在对源程序中其它语句正式编译之前进行的。() ”相关问题
  • 第1题:

    使用嵌入式SQL语句的程序在编译之前必须由_________进行处理。


    答:预处理器

  • 第2题:

    C语言的编译系统对宏命令的处理是________。

    A. 在程序连接时进行的

    B. 在对源程序中的其它语句编译之前进行的

    C. 在程序运行时进行的

    D. 和C程序中的其它语句同时进行的


    参考答案:B

  • 第3题:

    已知某高级语言源程序A经编译后得到机器C上的目标程序B,则(21)。

    A.B进行反编译,不能还原出源程序A

    B.对B进行反汇编,不能得到与源程序A等价的汇编程序代码

    C.对B进行反编译,得到的是源程序A的变量声明和算法流程

    D.对A和B进行交叉编译,可以产生在机器C上运行的动态链接库


    正确答案:A
    解析:本题考查程序语言方面的基础知识。编译是将高级语言源程序翻译成机器语言程序(汇编形式或机器代码形式),反编译是编译的逆过程。反编译通常不能把可执行文件还原成高级语言源代码,只能转换成功能上等价的汇编程序。

  • 第4题:

    已知某高级语言源程序A经编译后得到机器C上的目标程序B,则(24)。

    A.对B进行反编译,不能还原出源程序A

    B.对B进行反汇编,不能得到与源程序A等价的汇编程序代码

    C.对B进行反编译,得到的是源程序A的变量声明和算法流程

    D.对A和B进行交叉编译,可以产生在机器C上运行的动态链接库


    正确答案:A
    解析:本题考查程序语言方面的基础知识。编译是将高级语言源程序翻译成机器语言程序(汇编形式或机器代码形式),反编译是编译的逆过程。反编译通常不能把可执行文件还原成高级语言源代码,只能转换成功能上等价的汇编程序。

  • 第5题:

    如果要使得用 C 语言编写的程序在计算机上运行,则对其源程序需要依次进行( )等阶段的处理。

    A.预处理、汇编和编译 B.编译、链接和汇编 C.预处理、编译和链接 D.编译、预处理和链接


    正确答案:C

  • 第6题:

    C++语言的编译系统对宏命令的处理是( )。

    A.在程序运行时进行

    B.在程序连接时进行

    C.和C++程序的其它语句同时进行编译

    D.在对源程序中其它成分正式编译之前进行


    正确答案:D

  • 第7题:

    编译和解释是实现高级语言翻译的两种基本方式,相对应的程序分别称为编译器和解释器。与编译器相比,解释器( )。编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段;其中,代码优化和( )并不是每种编译器都必需的。词法分析的作用是识别源程序中的(请作答此空)。

    A.常量和变量
    B.数据类型
    C.记号
    D.语句

    答案:C
    解析:
    本题考查程序语言基础知识。
    在实现程序语言的编译和解释两种方式中,编译方式下会生成用户源程序的目标代码,而解释方式下则不产生目标代码。目标代码经链接后产生可执行代码,可执行代码可独立加载运行,与源程序和编译程序都不再相关。而在解释方式下,在解释器的控制下执行源程序或其中间代码,因此相对而言,用户程序执行的速度更慢。
    中间代码生成和优化不是编译过程中必需的阶段。对用户源程序依次进行了词法分析、语法分析和语义分析后,原则上就可以产生目标代码了,只是目标代码的质量和效率可能不够高。
    词法分析时编译或解释用户源程序过程中唯一与源程序打交道的阶段,其主要功能是按顺序分析出源程序的记号。

  • 第8题:

    C语言编译器是一种()。

    • A、系统软件
    • B、微机操作系统
    • C、字处理系统
    • D、源程序

    正确答案:A

  • 第9题:

    Java语言的源程序不是编译型的,而是编译解释型的


    正确答案:正确

  • 第10题:

    源码病毒在程序被编译之前插入到FORTRAN、C或PASCAL等语言编制的()。

    • A、源程序
    • B、主程序
    • C、语言处理程序
    • D、连接程序

    正确答案:A

  • 第11题:

    编译预处理包括()。

    • A、文件包含、宏定义和条件编译
    • B、构造工程文件
    • C、语句注释
    • D、编辑源程序

    正确答案:A

  • 第12题:

    判断题
    Java语言的源程序不是编译型的,而是编译解释型的
    A

    B


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

  • 第13题:

    C语言的编译系统对宏命令的处理是和c程序中的其他语句同时进行编译的。()

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


    参考答案:错误

  • 第14题:

    以下叙述中正确的是 ______。

    A.C语言的源程序不必通过编译就可以直接运行

    B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令

    C.C源程序经编译形成的二进制代码可以直接运行

    D.C语言中的函数不可以单独进行编译


    正确答案:B
    解析:C语言编写的程序必须经过编译、连接后才可以执行,选项A错误;C语言编译后生成的二进制代码是目标文件,需进一步连接生成.exe文件方可执行,选项C错误;C语言中函数可以单独编译。

  • 第15题:

    对高级语言源程序进行编译的过程中,有穷自动机(NFA或DFA)是进行(49)的适当工具。A.词法分析SXB

    对高级语言源程序进行编译的过程中,有穷自动机(NFA或DFA)是进行(49)的适当工具。

    A.词法分析

    B.语法分析

    C.语义分析

    D.出错处理


    正确答案:A
    编译程序的功能是从源代码(通常为高级语言)到能直接被计算机或虚拟机执行的目标代码(汇编语言或机器语言)的翻译过程。工作过程分为6个阶段:词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成。各个阶段逻辑上可以分为前端和后端。前端主要负责解析输入的源代码,由语法分析器和语意分析器协同工作。语法分析器负责把源代码中的‘单词’找出来,语意分析器把这些分散的单词按预先定义好的语法组装成有意义的表达式、语句、函数等等。前端还负责语义的检查,例如检测参与运算的变量是否是同一类型的,简单的错误处理。最终的结果常常是一个抽象的语法树,这样后端可以在此基础上进一步优化处理。后端编译器后端主要负责分析,优化中间代码以及生成机器代码。

  • 第16题:

    以下关于高级程序设计语言实现的编译和解释方式的叙述中,正确的是()

    A.编译程序不参与用户程序的运行控制,而解释程序则参与

    B.编译程序可以用高级语言编写,而解释程序只能用汇编语言编写

    C.编译方式处理源程序时不进行优化,而解释方式则进行优化

    D.编译方式不生成源程序的目标程序,而解释方式则生成。


    正确答案:D

  • 第17题:

    C语言源程序中以开头的命令在( )进行处理。

    A.对源程序编译之前 B.对源程序编译过程中 C.目标程序链接时 D.目标程序运行时


    正确答案:A

  • 第18题:

    编译程序的功能是( )。

    A、发现源程序中的语法错误
    B、改正源程序中的语法错误
    C、将源程序编译成目标文件
    D、将一种高级语言编译成另一种高级语言程序

    答案:C
    解析:
    编译的目的是要产生一个与源程序对应的目标文件,其中包含检查源程序是否有误

  • 第19题:

    如果要使得用 C 语言编写的程序在计算机上运行,则对其源程序需要依次进行 (31)等阶段的处理。

    A.预处理、汇编和编译
    B.编译、链接和汇编
    C.预处理、编译和链接
    D.编译、预处理和链接

    答案:C
    解析:
    可参考《程序员教程(第四版)》P385。源程序的处理步骤——预处理、编译、链接、运行

  • 第20题:

    在编译方法中,动态存储分配的含义是()。

    • A、在运行阶段对源程序中的量进行分配
    • B、在编译阶段对源程序中的量进行分配
    • C、以上都不是

    正确答案:A

  • 第21题:

    C编译中的预处理是在编译之前进行的。


    正确答案:正确

  • 第22题:

    GCC是针对Linux操作系统环境下应用程序的编译工具,下面叙述中错误的是()。

    • A、GCC将源文件生成可执行文件的过程是由:编译、汇编、连接等3个阶段组成
    • B、GCC能将C语言、C++语言、汇编语言编写的源程序生成执行文件
    • C、设计者若要对源程序进行调试,需要在GCC命令中加入-g参数来编译该源程序
    • D、用GCC把源文件仅编译成目标文件,那么,C语言编写的应用程序中可以不要main函数

    正确答案:A

  • 第23题:

    单选题
    以下关于编译预处理的叙述中错误的是(  )。
    A

    预处理命令行必须位于源程序的开始

    B

    源程序中凡是以#开始的控制行都是预处理命令行

    C

    一行上只能有一条有效的预处理命令

    D

    预处理命令是在程序正式编译之前被处理的


    正确答案: D
    解析:
    通常,预处理命令位于源文件的开头,也可以写在函数与函数之间。答案选择A选项。