程序语言易错题

程序语言易错题

  1. 包含8个成员的开发小组的沟通路径最多有()条。
    A、28 B、32 C、56 D、64

    解析
    软件开发小组的沟通路径受到小组组织形式规模的影响。若任意小组成员之间均可能有沟通路径,则可用完全连通图来对开发小组的沟通路径建模,最多的沟通路径为完全连通图的边数,即n个成员的开发小组的沟通路径是n(n-1)/2,因此8个成员的开发小组的沟通路径有28条。

  2. 编译器和解释器是两种基本的高级选择题语言处理程序。编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等阶段,其中,(1)并不是每个编译器都必需的,与编译器相比,解释器(2)。
    (1)
    A、词法分析和语法分析
    B、语义分析和中间代码生成
    C、中间代码生成和代码优化
    D、代码优化和目标代码生成
    (2)
    A、不参与运行控制,程序执行的速度慢
    B、参与运行控制,程序执行的速度慢
    C、参与运行控制,程序执行的速度快
    D、不参与运行控制,程序执行的速度快
    解析

  3. 可用于编写独立程序和快速脚本的语言是()。
    A、Python B、Prolog C、Java D、C#

    解析
    脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,通常以文本(如ASCIl)保存,只在被调用时进行解释或编译。Python是一种脚本语言

  4. 以下关于高级程序设计语言实现的编译和解释方式的叙述中,正确的是()。
    A、编译程序不参与用户程序的运行控制,而解释程序则参与
    B、编译程序可以用高级语言编写,而解释程序只能用汇编语言编写
    C、编译方式处理源程序时不进行优化,而解释方式则进行优化
    D、编译方式不生成源程序的目标程序,而解释方式则生成

    解析
    解释程序也称为解释器,它或者直接解释执行源程序,或者将源程序翻译成某种中间代码后再加以执行
    编译程序(编译器)则是将源程序翻译成目标语言程序,然后在计算机上运行目标程序。
    这两种语言处理程序的根本区别是:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程;而在解释方式下,解释程序和源程序(或其某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释程序。简单来说,在解释方式下,翻译源程序时不生成独立的目标程序,而编译器则将源程序翻译成独立保存的目标程序。

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

    解析
    编译是将高级语言源程序翻译成机器语言程序(汇编形式或机器代码形式),反编译是编译的逆过程。反编译通常不能把可执行文件还原成高级语言源代码,只能转换成功能上等价的汇编程序

  6. ()是一种函数式编程语言。
    A、Lisp B、Prolog C、Python D、Java/C++

    解析
    LISP是一种通用高级计算机程序语言,长期以来垄断人工智能领域的应用。LISP作为因应人工智能而设计的语言,是第一个声明式系内函数式程序设计语言,有别于命令式系内过程式的C、Fortran和面向对象的Java、C#等结构化程序设计语言。

  7. 在仅由字符a、b构成的所有字符串中,其中以b结尾的字符串集合可用正则表达式为()。
    A、(b|ab)* b B、(ab* )* b C、a* b* b D、(a|b)* b

    解析
    在这里插入图片描述

  8. 将编译器的工作过程划分为词法分析,语义分析,中间代码生成,代码优化和目标代码生成时,语法分析阶段的输入是(/)若程序中的括号不配对,则会在()阶段检查出错误。
    A、词法分析 B、语法分析 C、语义分析 D、目标代码生成

    分析
    记号流词法分析的输出是记号流,也就是语法分析输入
    字符流,在Java中,根据处理的数据单位不同,分为字节流和字符流。字符流是由字符组成的,例如FileReader、FileWriter、BufferedReader、 BufferedWriter、 InputStreamReader、OutputStreamWriter等。与本题无关。
    源程序词法分析的任务是把源程序的字符串转换成单词符号序列
    分析树,如果没有语法错误,语法分析后就能正确的构造出其语法树。括号不匹配是典型的语法错误,会在语法分析阶段检测出来。

  9. C程序中全局变量的存储空间在()分配。
    A、代码区 B、静态数据区 C、栈区 D、堆区

    分析
    程序运行时的用户内存空间一般划分为代码区、静态数据区、栈区和堆区,其中栈区堆区也称为动态数据区全局变量的存储空间在静态数据区

  10. 表达式采用逆波兰式表示时,利用()进行求值。
    A、栈 B、队列 C、符号表 D、散列表

    分析
    后缀式(逆波兰式)是波兰逻辑学家卢卡西维奇发明的一种表示表达式的方法。这种表示方式把运算符写在运算对象后面,例如,把a+b写成ab+,所以也称为后缀式。借助栈可以方便地对后缀式进行求值。方法为:先创建一个初始为空的,用来存放运算数。对后缀表达式求值时,从左至右扫描表达式,若遇到运算数,就将其入栈,若遇到运算符,就从栈顶弹出需要的运算数并进行运算,然后将结果压入栈顶,如此重复,直到表达式结束。

  11. 在以阶段划分的编译过程中,判断选择题程序语句的形式是否正确属于()阶段的工作
    A、词法分析 B、语法分析 C、语义分析 D、代码生成

    分析
    程序语言中的词(符号)的构成规则可由正规式描述,
    词法分析的基本任务就是识别出源程序中的每个词
    语法分析是分析语句及程序的结构是否符合语言定义的规范,对于语法正确的语句,语义分析是判断语句的含义是否正确,因此判断语句的形式是否正确是语法分析阶段的工作。

    词法分析:从左到右逐个扫描源程序中的字符,识别其中如关键字(或称保留字)、标识符、常数、运算符以及分隔符(标点符号和括号)等。
    语法分析:根据语法规则将单词符号分解成各类语法单位,并分析源程序是否存在语法上的错误。包括:语言结构出错、if…end if不匹配,缺少分号、括号不匹配、表达式缺少操作数等。
    语义分析:进行类型分析和检查,主要检测源程序是否存在静态语义错误。包括:运算符和运算类型不符合,如取余时用浮点数。

  12. 将高级语言源程序翻译成机器语言程序的过程中,常引入中间代码。以下关于中间代码的叙述中,不正确的是(D)。
    A、中间代码不依赖于具体的机器
    B、使用中间代码可提高编译程序的可移植性
    C、中间代码可以用树或图表示
    D、中间代码可以用栈和队列表示

    分析
    中间代码是源程序的一种内部表示,或称中间语言。中间代码的作用是可使编译程序的结构在逻辑上更为简单明确,使用中间代码可提高编译程序的可移植性,常见的有逆波兰记号、四元式、三元式和树

猜你喜欢

转载自blog.csdn.net/qq_52108058/article/details/130743344
今日推荐