欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】软件设计师-程序语言基础知识(二)1及答案解析.doc

    • 资源ID:1340428       资源大小:82.50KB        全文页数:19页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】软件设计师-程序语言基础知识(二)1及答案解析.doc

    1、软件设计师-程序语言基础知识(二)1 及答案解析(总分:34.00,做题时间:90 分钟)一、综合知识试题(总题数:34,分数:34.00)1.以下关于变量和常量的叙述中,错误的是_。A变量的取值在程序运行过程中可以改变,常量则不行B变量具有类型属性,常量则没有C变量具有对应的存储单元,常量则没有D可以对变量赋值,不能对常量赋值(分数:1.00)A.B.C.D.2.编译程序分析源程序的阶段依次是_。A词法分析、语法分析、语义分析 B语法分析、词法分析、语义分析C语义分析、语法分析、词法分析 D语义分析、词法分析、语法分析(分数:1.00)A.B.C.D.3.下图所示的有限自动机中,0 是初始状

    2、态,3 是终止状态,该自动机可以识别_。(分数:1.00)A.B.C.D.4.下图所示为两个有限自动机 M1和 M2(A是初态、C 是终态),_。(分数:1.00)A.B.C.D.5.以下关于可视化程序设计的叙述中,错误的是_。A可视化程序设计使开发应用程序无需编写程序代码B可视化程序设计基于面向对象的思想,引入了控件和事件驱动C在可视化程序设计中,构造应用程序界面就像搭积木D在可视化程序设计中,采用解释方式可随时查看程序的运行效果(分数:1.00)A.B.C.D.6.以下关于汇编语言的叙述中,错误的是_。A汇编语言源程序中的指令语句将被翻译成机器代码B汇编程序先将源程序中的伪指令翻译成机器代

    3、码,然后再翻译指令语句C汇编程序以汇编语言源程序为输入,以机器语言表示的目标程序为输出D汇编语言的指令语句必须具有操作码字段,可以没有操作数字段(分数:1.00)A.B.C.D.7.逻辑表达式“abc(bx0)”的后缀式为_。(其中、分别表示逻辑与、逻辑或,表示关系运算大于,对逻辑表达式进行短路求值)Aabcbx0 Babcbx0Cabcbx0 Dabcbx0(分数:1.00)A.B.C.D.8.编译程序对 C语言源程序进行语法分析时,可以确定_。A变量是否定义(或声明) B变量的值是否正确C循环语句的执行次数 D循环条件是否正确(分数:1.00)A.B.C.D.9.以下关于高级语言程序的编译

    4、和解释的叙述中,正确的是_。A编译方式下,可以省略对源程序的词法分析、语法分析B解释方式下,可以省略对源程序的词法分析、语法分析C编译方式下,在机器上运行的目标程序完全独立于源程序D解释方式下,在机器上运行的目标程序完全独立于源程序(分数:1.00)A.B.C.D.10.标记语言用一系列约定好的标记来对电子文档进行标记,以实现对电子文档的语义、结构及格式的定义。_不是标记语言。AHTML BXML CWML DPHP(分数:1.00)A.B.C.D.11.对于正规式 0*(10*1)*0*,其正规集中字符串的特点是_。A开头和结尾必须是 0 B1 必须出现偶数次C0 不能连续出现 D1 不能连

    5、续出现(分数:1.00)A.B.C.D.12.许多程序设计语言规定,程序中的数据都必须具有类型,其作用不包括_。A便于为数据合理分配存储单元B便于对参与表达式计算的数据对象进行检查C便于定义动态数据结构D便于规定数据对象的取值范围及能够进行的运算(分数:1.00)A.B.C.D.13.以下关于 C/C+语言指针变量的叙述中,正确的是_。A指针变量可以是全局变量也可以是局部变量B必须为指针变量与指针所指向的变量分配相同大小的存储空间C对指针变量进行算术运算是没有意义的D指针变量必须由动态产生的数据对象来赋值(分数:1.00)A.B.C.D.14.将高级语言源程序翻译为机器语言程序的过程中常引入中

    6、间代码。以下关于中间代码的叙述中,错误的是_。A不同的高级程序语言可以产生同一种中间代码B使用中间代码有利于进行与机器无关的优化处理C使用中间代码有利于提高编译程序的可移植性D中间代码与机器语言代码在指令结构上必须一致(分数:1.00)A.B.C.D.15.以下关于编译系统对某高级语言进行翻译的叙述中,错误的是_。A词法分析将把源程序看作一个线性字符序列进行分析B语法分析阶段可以发现程序中所有的语法错误C语义分析阶段可以发现程序中所有的语义错误D目标代码生成阶段的工作与目标机器的体系结构相关(分数:1.00)A.B.C.D.16.若一个程序语言可以提供链表的定义和运算,则其运行时的_。A数据空

    7、间适合采用静态存储分配策略B数据空间必须采用堆存储分配策略C指令空间需要采用栈结构D指令代码必须放入堆区(分数:1.00)A.B.C.D.17.由某上下文无关文法 MS推导出某句子的分析树如右图所示,则错误叙述的是_。(分数:1.00)A.B.C.D.18.函数调用时,基本的参数传递方式有传值与传地址两种,_。A在传值方式下,形参将值传给实参B在传值方式下,实参不能是数组元素C在传地址方式下,形参和实参间可以实现数据的双向传递D在传地址方式下,实参可以是任意的变量和表达式(分数:1.00)A.B.C.D.19.已知某高级语言源程序 A经编译后得到机器 C上的目标程序 B,则_。A对 B进行反编

    8、译,不能还原出源程序 AB对 B进行反汇编,不能得到与源程序 A等价的汇编程序代码C对 B进行反编译,得到的是源程序 A的变量声明和算法流程D对 A和 B进行交叉编译,可以产生在机器 C上运行的动态链接库(分数:1.00)A.B.C.D.20.下面关于程序语言的叙述,错误的是_。A脚本语言属于动态语言,其程序结构可以在运行中改变B脚本语言一般通过脚本引擎解释执行,不产生独立保存的目标程序CPHP、JavaScript 属于静态语言,其所有成分可在编译时确定DC 语言属于静态语言,其所有成分可在编译时确定(分数:1.00)A.B.C.D.21.右图所示有限自动机的特点是_。(分数:1.00)A.

    9、B.C.D.22.由 a、b 构造且仅包含偶数个 a的串的集合用正规式表示为_。A(a *a)*b*B(b *(ab*a)*)*C(a *(ba*)*b)*D(a|b) *(aa)*(分数:1.00)A.B.C.D.23.程序语言的大多数语法现象可用上下文无关文法描述。对于一个上下文无关文法 G=(N,T,P,S),其中 N是非终结符号的集合,T 是终结符号的集合,P 是产生式集合,S 是开始符号。令集合 V=NT,那么G所描述的语言是_的集合。A从 S出发推导出的包含 V中所有符号的串B从 S出发推导出的仅包含 T中符号的串CN 中所有符号组成的串DT 中所有符号组成的串(分数:1.00)A

    10、.B.C.D.24.程序设计语言一般都提供多种循环语句,例如实现先判断循环条件再执行循环体的 while语句和先执行循环体再判断循环条件的 do-while语句。关于这两种循环语句,在不改变循环体的条件下,_是正确的。Awhile 语句的功能可由 do-while语句实现Bdo-while 语句的功能可由 while语句实现C若已知循环体的次数,则只能使用 while语句D循环条件相同时,do-while 语句的执行效率更高(分数:1.00)A.B.C.D.25.下列叙述中错误的是_。A面向对象程序设计语言可支持过程化的程序设计B给定算法的时间复杂性与实现该算法所采用的程序设计语言无关C与汇编

    11、语言相比,采用脚本语言编程可获得更高的运行效率D面向对象程序设计语言不支持对一个对象的成员变量进行直接访问(分数:1.00)A.B.C.D.26.编译程序对高级语言源程序进行翻译时,需要在该程序的地址空间中为变量指定地址,这种地址称为_。A逻辑地址 B物理地址 C接口地址 D线性地址(分数:1.00)A.B.C.D.27._是指在运行时把过程调用和响应调用所需要执行的代码加以结合。A绑定 B静态绑定 C动态绑定 D继承(分数:1.00)A.B.C.D.28.高级语言源程序的编译过程分若干个阶段,分配寄存器属于_阶段的工作。A词法分析 B语法分析 C语义分析 D代码生成(分数:1.00)A.B.

    12、C.D.29.编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成几个阶段,其中,_并不是每种编译器都必需的。A词法分析和语法分析 B语义分析和中间代码生成C中间代码生成和代码优化 D代码优化和目标代码生成(分数:1.00)A.B.C.D.30.给定文法 GS及其非终结符 A,FIRST(A)定义为:从 A出发能推导出的终结符号的集合(S 是文法的起始符号,为非终结符)。对于文法 GS:SL | aLL, S | S其中,GS包含的 4个终结符号分别为:a,则 FIRST(S)的成员包括_。Aa Ba、 Ca、和 Da、和,(分数:1.0

    13、0)A.B.C.D.31.设某上下文无关文法如下:S11|1001|S0|SS,则该文法所产生的所有二进制字符串都具有的特点是_。A能被 3整除 B0、1 出现的次数相等C0 和 1的出现次数都为偶数 D能被 2整除(分数:1.00)A.B.C.D.32.已知某文法 GS:S0S0 S1,从 S推导出的符号串可用_(n0)描述。A(010) n B0 n10nC1 n D01 n0(分数:1.00)A.B.C.D.33.有限自动机(FA)可用于识别高级语言源程序中的记号(单词),FA 可分为确定的有限自动机(DFA)和不确定的有限自动机(NFA)。若某 DFAD与某 NFAM等价,则_。ADF

    14、AD 与 NFAM的状态数一定相等BDFAD 与 NFAM可识别的记号相同CNFAM 能识别的正规集是 DFAD所识别正规集的真子集DDFAD 能识别的正规集是 NFAM所识别正规集的真子集(分数:1.00)A.B.C.D.34.某确定性有限自动机(DFA)的状态转换图如图所示,令 d=0|1|2|9,则以下字符串中,能被该 DFA接受的是_。(分数:1.00)A.B.C.D.软件设计师-程序语言基础知识(二)1 答案解析(总分:34.00,做题时间:90 分钟)一、综合知识试题(总题数:34,分数:34.00)1.以下关于变量和常量的叙述中,错误的是_。A变量的取值在程序运行过程中可以改变,

    15、常量则不行B变量具有类型属性,常量则没有C变量具有对应的存储单元,常量则没有D可以对变量赋值,不能对常量赋值(分数:1.00)A.B. C.D.解析:解析 常量是在程序运行过程中值不可以改变的数据。根据数组的组织类型的不同,可以将数据分为基本数据类型、用户自定义数据类型、构造类型等。变量具有类型属性,常量也有数据类型,如整数常量、字符串常量等。2.编译程序分析源程序的阶段依次是_。A词法分析、语法分析、语义分析 B语法分析、词法分析、语义分析C语义分析、语法分析、词法分析 D语义分析、词法分析、语法分析(分数:1.00)A. B.C.D.解析:解析 词法分析是编译过程的第一个阶段,其任务是对源

    16、程序从前到后(从左到右)逐个字符地扫描,从中识别出一个个“单词”符号。语法分析的任务是在词法分析的基础上,根据语言的语法规则将单词符号序列分解成各类语法单位。如果源程序中没有语法错误,语法分析后就能正确地构造其语法树。语义分析阶段的主要任务是检查源程序是否包含静态语义错误,并收集类型信息供后面的代码生成阶段使用。3.下图所示的有限自动机中,0 是初始状态,3 是终止状态,该自动机可以识别_。(分数:1.00)A.B. C.D.解析:解析 从初始状态到终止状态有多条路径。在状态 0输入 a到达状态 2;在状态 2可输入 a或 b,输入 a到达状态 1,输入 b到达状态 3;状态 3下输入 a还回

    17、到状态 3;在状态 1可输入 a或 b,输入 a到达状态 3,输入 b到达状态 2。4.下图所示为两个有限自动机 M1和 M2(A是初态、C 是终态),_。(分数:1.00)A.B.C.D. 解析:解析 确定有限自动机对每一个可能的输入只有一个状态的转移。非确定有限自动机对每一个可能的输入可以有多个状态转移,接受到输入时从这多个状态转移中非确定地选择一个。有限自动机 M1在状态 A时,输入 0可以回到状态 A,也可以到达状态 B,可见 M1是不确定的。有限自动机 M2的每个状态下的输入都只有一个转移状态。5.以下关于可视化程序设计的叙述中,错误的是_。A可视化程序设计使开发应用程序无需编写程序

    18、代码B可视化程序设计基于面向对象的思想,引入了控件和事件驱动C在可视化程序设计中,构造应用程序界面就像搭积木D在可视化程序设计中,采用解释方式可随时查看程序的运行效果(分数:1.00)A. B.C.D.解析:解析 可视化(Visual),程序设计是一种全新的程序设计方法,它主要是让程序设计人员利用软件本身所提供的各种控件,像搭积木一样构造应用程序的各种界面。可视化程序设计以“所见即所得”的编程思想为原则,力图实现编程工作的可视化,即随时可以看到结果,程序与结果的调整同步。可视化编程语言的特点主要表现在两个方面:一是基于面向对象的思想,引入了控件的概念和事件驱动;二是程序开发过程一般遵循以下步骤

    19、,即先进行界面的绘制工作,再基于事件编写程序代码,以响应鼠标、键盘的各种动作。可视化程序设计最大的优点是设计人员可以不用编写或只需编写很少的程序代码,就能完成应用程序的设计,这样就能极大地提高设计人员的工作效率。6.以下关于汇编语言的叙述中,错误的是_。A汇编语言源程序中的指令语句将被翻译成机器代码B汇编程序先将源程序中的伪指令翻译成机器代码,然后再翻译指令语句C汇编程序以汇编语言源程序为输入,以机器语言表示的目标程序为输出D汇编语言的指令语句必须具有操作码字段,可以没有操作数字段(分数:1.00)A.B. C.D.解析:解析 汇编程序的功能是将汇编语言所编写的源程序翻译成机器指令程序。汇编语

    20、言源程序语句可分为指令语句、伪指令语句和宏指令语句。指令语句汇编后产生相应的机器代码;伪指令语句指示汇编程序在汇编源程序时完成某些操作,汇编后不产生机器代码。7.逻辑表达式“abc(bx0)”的后缀式为_。(其中、分别表示逻辑与、逻辑或,表示关系运算大于,对逻辑表达式进行短路求值)Aabcbx0 Babcbx0Cabcbx0 Dabcbx0(分数:1.00)A.B.C.D. 解析:解析 后缀式把运算符写在运算对象后面。“逻辑与运算”的优先级高于“逻辑或运算”。对于逻辑表达式“abc(bx0)”,从运算符的优先级方面考虑,需先对“ab”求值,然后对“c(bx0)”求值,最后进行“”运算,因此后缀

    21、式为“abcbx0”。8.编译程序对 C语言源程序进行语法分析时,可以确定_。A变量是否定义(或声明) B变量的值是否正确C循环语句的执行次数 D循环条件是否正确(分数:1.00)A. B.C.D.解析:解析 语法分析是编译过程的一个逻辑阶段。语法分析的任务是在词法分析的基础上将单词序列组合成各类语法短语,如“程序”、“语句”、“表达式”等。语法分析程序判断源程序在结构上是否正确。题目中,只有选项 A在语法分析时可以确定。9.以下关于高级语言程序的编译和解释的叙述中,正确的是_。A编译方式下,可以省略对源程序的词法分析、语法分析B解释方式下,可以省略对源程序的词法分析、语法分析C编译方式下,在

    22、机器上运行的目标程序完全独立于源程序D解释方式下,在机器上运行的目标程序完全独立于源程序(分数:1.00)A.B.C. D.解析:解析 编译和解释是语言处理的两种基本方式。编译过程包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成阶段,以及符号表管理和出错处理模块。解释过程在词法、语法和语义分析方面与编译程序的工作原理基本相同,但是在运行用户程序时,它直接执行源程序或源程序的内部形式。这两种语言处理程序的根本区别是:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程;而在解释方式下,解释程序和源程序(或其某种等价表示)要参与到程

    23、序的运行过程中,运行程序的控制权在解释程序。解释器翻译源程序时不产生独立的目标程序,而编译器则需将源程序翻译成独立的目标程序。10.标记语言用一系列约定好的标记来对电子文档进行标记,以实现对电子文档的语义、结构及格式的定义。_不是标记语言。AHTML BXML CWML DPHP(分数:1.00)A.B.C.D. 解析:解析 HTML(Hypertext Marked Language,超文本标记语言),用于互联网的信息表示。用 HTML编写的超文本文档称为 HTML文档,它能够独立于各种操作系统平台。XML(Extensible Markup Language,可扩展的标记语言)丰富了 HT

    24、ML的描述功能,可以描述非常复杂的Web页面,如复杂的数字表达式、化学方程式等。XML 的特点是结构化、自描述、可扩展和浏览器自适应等。用于 WAP的标记语言就是 WML(Wireless Markup Language),其语法跟 XML一样,是 XML的子集。PHP(Hypertext Preprocessor)是一种在服务器端执行的、嵌入 HTML文档的脚本语言,其语言风格类似于C语言,被网站编程人员广泛运用。11.对于正规式 0*(10*1)*0*,其正规集中字符串的特点是_。A开头和结尾必须是 0 B1 必须出现偶数次C0 不能连续出现 D1 不能连续出现(分数:1.00)A.B.

    25、C.D.解析:解析 闭包运算符“*”将其运算对象进行若干次连接,因此 0*表示若干个 0构成的串,而(10 *1)*则表示偶数个 1构成的串。12.许多程序设计语言规定,程序中的数据都必须具有类型,其作用不包括_。A便于为数据合理分配存储单元B便于对参与表达式计算的数据对象进行检查C便于定义动态数据结构D便于规定数据对象的取值范围及能够进行的运算(分数:1.00)A.B. C.D.解析:解析 不同程序设计语言所提供的数据类型不尽相同。数据是程序操作的对象,具有名称、类型、存储类、作用域和生存期等属性,使用时要为它分配内存空间。数据名称由用户命名,类型说明数据占用内存的大小和存放形式,存储类说明

    26、数据在内存中的位置和生存期;作用域说明数据可以使用的范围;生存期说明数据占用内存的时间。13.以下关于 C/C+语言指针变量的叙述中,正确的是_。A指针变量可以是全局变量也可以是局部变量B必须为指针变量与指针所指向的变量分配相同大小的存储空间C对指针变量进行算术运算是没有意义的D指针变量必须由动态产生的数据对象来赋值(分数:1.00)A. B.C.D.解析:解析 存放地址的变量称为指针变量。指针变量是一种特殊的变量,它不同于一般的变量,一般变量存放的是数据本身,而指针变量存放的是数据的地址。选项 A显然是正确的。对于选项 B,指针变量和指针所指向的变量存放的内容是不一样的,只要分配够用就行了,

    27、不需要分配一样大小的存储空间。对于选项 C,指针变量加 1便指向下一个存储单元,是有意义的。另外指针变量可以静态地定义。14.将高级语言源程序翻译为机器语言程序的过程中常引入中间代码。以下关于中间代码的叙述中,错误的是_。A不同的高级程序语言可以产生同一种中间代码B使用中间代码有利于进行与机器无关的优化处理C使用中间代码有利于提高编译程序的可移植性D中间代码与机器语言代码在指令结构上必须一致(分数:1.00)A.B.C.D. 解析:解析 中间代码生成阶段的工作是根据语义分析的输出生成中间代码。中间代码是一种简单且含义明确的记号系统,可以有若干种形式,它们的共同特征是与具体的机器无关。15.以下

    28、关于编译系统对某高级语言进行翻译的叙述中,错误的是_。A词法分析将把源程序看作一个线性字符序列进行分析B语法分析阶段可以发现程序中所有的语法错误C语义分析阶段可以发现程序中所有的语义错误D目标代码生成阶段的工作与目标机器的体系结构相关(分数:1.00)A.B.C. D.解析:解析 在词法分析阶段,源程序可以简单地被看作是一个多行的字符串。这一阶段的任务是对源程序从前到后(从左到右)逐个字符进行扫描,从中识别出一个个“单词”符号;语法分析的任务是在词法分析的基础上,根据语言的语法规则将单词符号序列分解为各类语法单位,检查其中的语法错误;语义分析阶段主要检查源程序是否包含语义错误,但是一般编译器难

    29、以检查出动态语义错误,显然 C选项描述的是错误的;目标代码生成是编译器工作的最后一个阶段。这一阶段的任务是把中间代码变化为特定机器上的绝对指令代码、可重定位的指令代码或汇编指令代码,这个阶段的工作与具体的机器密切相关。16.若一个程序语言可以提供链表的定义和运算,则其运行时的_。A数据空间适合采用静态存储分配策略B数据空间必须采用堆存储分配策略C指令空间需要采用栈结构D指令代码必须放入堆区(分数:1.00)A.B. C.D.解析:解析 链表一般使用动态分配策略。数组空间往往使用静态存储分配策略。内存中供用户使用的存储空间可以分为三部分:程序区、静态存储区和动态存储区。动态存储区又分为栈区和堆区

    30、。程序区:用来存放程序代码的内存区。静态存储区:用来存储程序中的全局变量和局部变量。栈区:程序运行过程中存放临时数据,可用来保存函数调用时的现场和返回地址,也可以用来存放形式参数变量和自动局部变量等。堆区:一个自由存储区域,程序通过动态存储分配函数来使用它,用于诸如链表等的存储。17.由某上下文无关文法 MS推导出某句子的分析树如右图所示,则错误叙述的是_。(分数:1.00)A. B.C.D.解析:解析 上图是某上下文无关文法 MS推导出某句子的分析树,看图只要稍作推导就可推出“acabcbdcc”是该文法推导出的一个句子;看该分析树的第一层分支即可知“SaAcB”是该文法的一个产生式;而 a

    31、、b、c、d 因为在图中是分析树的叶子,都是该文法的终结符号;右边的 B分支下有SBd,B,所以该文法推导出的句子不一定是“a”开头,因此 A选项是不正确的。18.函数调用时,基本的参数传递方式有传值与传地址两种,_。A在传值方式下,形参将值传给实参B在传值方式下,实参不能是数组元素C在传地址方式下,形参和实参间可以实现数据的双向传递D在传地址方式下,实参可以是任意的变量和表达式(分数:1.00)A.B.C. D.解析:解析 首先看 A选项,传值方式下,对应的实参和形参是两个独立的实体,占用不同的内存单元,调用函数时,系统把实参值复制一份给形参,便断开二者的联系,形参值的改变对实参无影响。因此

    32、,“传值”是单向的,只能由实参传递给形参。B选项,形参为传值方式下的简单变量,实参可以是与其同类型的常量、变量、数组元素或表达式。C选项,在传地址方式下,函数调用时,系统将实参的地址传递给形参,即这时参数传递的不是数据本身,而是数据在内存中的地址。所以在函数被调用中,任何对形参的访问,都被认为是对实参的间接访问。实参与形参占用相同的存储单元,传递方式是双向的,形参值的改变将影响实参值。故 C选项正确。D选项,形参为传地址方式时,实参如果为常量或表达式,则传址无效,相当于传值方式。19.已知某高级语言源程序 A经编译后得到机器 C上的目标程序 B,则_。A对 B进行反编译,不能还原出源程序 AB

    33、对 B进行反汇编,不能得到与源程序 A等价的汇编程序代码C对 B进行反编译,得到的是源程序 A的变量声明和算法流程D对 A和 B进行交叉编译,可以产生在机器 C上运行的动态链接库(分数:1.00)A. B.C.D.解析:解析 高级语言源程序经过编译变成可执行文件,反编译就是其逆过程,但通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。将高级语言编出来的程序进行编洋,生成可以被计算机系统直接执行的文件。反汇编即是指将这些执行文件反编译还原成汇编语言或其他高级语言。在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编

    34、译。简单地说,就是在一个平台上生成另一个平台上的可执行代码。20.下面关于程序语言的叙述,错误的是_。A脚本语言属于动态语言,其程序结构可以在运行中改变B脚本语言一般通过脚本引擎解释执行,不产生独立保存的目标程序CPHP、JavaScript 属于静态语言,其所有成分可在编译时确定DC 语言属于静态语言,其所有成分可在编译时确定(分数:1.00)A.B.C. D.解析:解析 脚本语言,又叫动态语言,是一种编程语言控制软件的应用程序。脚本语言与编程语言有很多相似地方,其函数与编程语言比较类似,也涉及变量,它与编程语言最大的区别是编程语言的语法和规则更为严格和复杂一些。脚本语言一般都有相应的脚本引

    35、擎来解释执行,一般需要解释器才能运行。Python、JavaScript、ASP、PHP、PERL、Nuva 都是脚本语言。另外,脚本语言是一种解释性的语言,它不像 C/C+等可以编译成二进制代码,以可执行文件的形式存在。21.右图所示有限自动机的特点是_。(分数:1.00)A.B.C.D. 解析:解析 从初始态 q0输入 0仍然到 q0或者输入 1到达终态 q1,从 q1还可以输入 0重新到达初始态q0,所以这个有限自动机识别的 0、1 串不一定是以 0开头的,1 的数目的奇偶性也没办法确定,0 后面也可以是 0,所以选项 A、B、C 都是错误的。从 q0输入 1到达终态 q1后,或者串结束

    36、,或者输入 0再到q0,所以这个串中的 1不会连续出现,选项 D是正确的。22.由 a、b 构造且仅包含偶数个 a的串的集合用正规式表示为_。A(a *a)*b*B(b *(ab*a)*)*C(a *(ba*)*b)*D(a|b) *(aa)*(分数:1.00)A.B. C.D.解析:解析 本题主要考查考生对正规表达式的理解。a *表示由 0个或多个 a构成的符号串集合,a|b 表示符号串 a、b 构成的集合,ab 表示符号串 ab构成的集合。aaab(a *a)*b*,aabab(a *(ba*)*b)*,aaa(a|b) *(aa)*,其中包含奇数个 a,不符合题目要求。23.程序语言的大

    37、多数语法现象可用上下文无关文法描述。对于一个上下文无关文法 G=(N,T,P,S),其中 N是非终结符号的集合,T 是终结符号的集合,P 是产生式集合,S 是开始符号。令集合 V=NT,那么G所描述的语言是_的集合。A从 S出发推导出的包含 V中所有符号的串B从 S出发推导出的仅包含 T中符号的串CN 中所有符号组成的串DT 中所有符号组成的串(分数:1.00)A.B. C.D.解析:解析 若 VNV,根据上下文无关文法的特性,V 总可以被字符串 NV 自由地替换。但当V=NT 时,由于非终结符的不唯一性,要构成等式成立,必须要 NT 中的符号串收缩为终结符,即都是T的集合。所以上下文无关文法

    38、 G描述的语言是从 S出发推导出的仅包含 T中符号的串的集合。24.程序设计语言一般都提供多种循环语句,例如实现先判断循环条件再执行循环体的 while语句和先执行循环体再判断循环条件的 do-while语句。关于这两种循环语句,在不改变循环体的条件下,_是正确的。Awhile 语句的功能可由 do-while语句实现Bdo-while 语句的功能可由 while语句实现C若已知循环体的次数,则只能使用 while语句D循环条件相同时,do-while 语句的执行效率更高(分数:1.00)A.B. C.D.解析:解析 do-while 语句的循环体至少执行一次,即执行 1n 次,而 while

    39、语句的循环体可以不执行,也可以执行 n次,因此 do-while语句的功能可由 while语句实现。25.下列叙述中错误的是_。A面向对象程序设计语言可支持过程化的程序设计B给定算法的时间复杂性与实现该算法所采用的程序设计语言无关C与汇编语言相比,采用脚本语言编程可获得更高的运行效率D面向对象程序设计语言不支持对一个对象的成员变量进行直接访问(分数:1.00)A.B.C. D.解析:解析 本题考查程序设计语言的基本概念问题。C 选项明显是错误的,脚本语言与汇编语言不是一个意义层面上的语言,而且汇编语言是接近计算机硬件的语言,运行效率是非常高的。26.编译程序对高级语言源程序进行翻译时,需要在该

    40、程序的地址空间中为变量指定地址,这种地址称为_。A逻辑地址 B物理地址 C接口地址 D线性地址(分数:1.00)A. B.C.D.解析:解析 本题主要考查“逻辑地址”和“物理地址”的区别。逻辑地址(Logical AddreSS)是指由程序产生的与段相关的偏移地址部分。例如,你在进行 C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于当前进程数据段的地址,和绝对物理地址不相干。线性地址(Linear Address)是逻辑地址到物理地址变换之间的中间层。物理地址(Physical Address)是指出现在 CPU外部地址总线上的寻址物理内存的地址信号,是

    41、地址变换的最终结果地址。本题中将高级语言程序编译以后产生的仍然是一种程序,只有当程序调入到内存执行时,逻辑地址才会转换成物理地址。27._是指在运行时把过程调用和响应调用所需要执行的代码加以结合。A绑定 B静态绑定 C动态绑定 D继承(分数:1.00)A.B.C. D.解析:解析 函数调用与函数本身的关联,以及成员访问与变量内存地址间的联系,称为绑定。在计算机语言中有两种主要的绑定方式:静态绑定和动态绑定。静态绑定发生于数据结构和数据结构间,程序执行之前,有编译时绑定,通过对象调用,因此不能运用任何运行期的信息。它针对函数调用与函数的主体,或变量与内存中的区块;动态绑定则是运行时绑定,通过地址

    42、实现,只用到运行期的可用信息。题目中把过程调用和响应调用所需要执行的代码加以结合发生在编译后,所以属于动态绑定。28.高级语言源程序的编译过程分若干个阶段,分配寄存器属于_阶段的工作。A词法分析 B语法分析 C语义分析 D代码生成(分数:1.00)A.B.C.D. 解析:解析 目标代码生成是指把(优化后的)中间代码变换成特定机器上的低级语言代码,有赖于硬件系统结构和机器指令含义。分配寄存器涉及物理层面,编译过程中只有目标代码生成涉及物理层面。29.编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成几个阶段,其中,_并不是每种编译器都必需

    43、的。A词法分析和语法分析 B语义分析和中间代码生成C中间代码生成和代码优化 D代码优化和目标代码生成(分数:1.00)A.B.C. D.解析:解析 本题考查程序设计语言的编译器原理。下图为编译程序的工程过程,其中“中间代码生成”和“代码优化”的虚线框表示不是所有编译器都会有这两个阶段。30.给定文法 GS及其非终结符 A,FIRST(A)定义为:从 A出发能推导出的终结符号的集合(S 是文法的起始符号,为非终结符)。对于文法 GS:SL | aLL, S | S其中,GS包含的 4个终结符号分别为:a,则 FIRST(S)的成员包括_。Aa Ba、 Ca、和 Da、和,(分数:1.00)A.B

    44、. C.D.解析:解析 由 SL|a 得 SL和 Sa,所以 FIRST(S)=,a)。31.设某上下文无关文法如下:S11|1001|S0|SS,则该文法所产生的所有二进制字符串都具有的特点是_。A能被 3整除 B0、1 出现的次数相等C0 和 1的出现次数都为偶数 D能被 2整除(分数:1.00)A. B.C.D.解析:解析 本题考查上下文无关文法产生的字符串集合。由于 S11,选项 B显然不正确。由 S11 和 S0S 有 S011,选项 C不正确。由 S11,二进制 11为十进制 3,不能被 2整除,选项 D不正确。32.已知某文法 GS:S0S0 S1,从 S推导出的符号串可用_(n

    45、0)描述。A(010) n B0 n10nC1 n D01 n0(分数:1.00)A.B. C.D.解析:解析 推导树如右图所示。33.有限自动机(FA)可用于识别高级语言源程序中的记号(单词),FA 可分为确定的有限自动机(DFA)和不确定的有限自动机(NFA)。若某 DFAD与某 NFAM等价,则_。ADFAD 与 NFAM的状态数一定相等BDFAD 与 NFAM可识别的记号相同CNFAM 能识别的正规集是 DFAD所识别正规集的真子集DDFAD 能识别的正规集是 NFAM所识别正规集的真子集(分数:1.00)A.B. C.D.解析:解析 本题考查 DFA和 NFA的相关知识。有限自动机的确定化:对于任一个 NFAM都可以构造其对应的 DFAM,使这两个自动机接受相同的字符串集合:L(M)=L(M)。所以选项 B正确。34.某确定性有限自动机(DFA)的状态转换图如图所示,令 d=0|1|2|9,则以下字符串中,能被该 DFA接受的是_。(分数:1.00)A.B.C. D.解析:解析 如题图,从初态 0开始走各种能走的路线到达终态 6,加上条件 d=0|1|2|9,很容易得出-123.67,路线是 04156。


    注意事项

    本文(【计算机类职业资格】软件设计师-程序语言基础知识(二)1及答案解析.doc)为本站会员(priceawful190)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开