c++复习程序题

合集下载

编译原理复习题(经典)

编译原理复习题(经典)

编译原理复习题一、是非题1.计算机高级语言翻译成低级语言只有解释一种方式。

(×)3.每个文法都能改写为 LL(1) 文法。

(×)4.算符优先关系表不一定存在对应的优先函数。

(√)5.LR分析方法是自顶向下语法分析方法。

(×)6.“ 用高级语言书写的源程序都必须通过编译,产生目标代码后才能投入运行”这种说法。

(× )7.一个句型的句柄一定是文法某产生式的右部。

(√)8.仅考虑一个基本块,不能确定一个赋值是否真是无用的。

(√ )9.在中间代码优化中循环上的优化主要有不变表达式外提和削减运算强度。

(× )10.对于数据空间的存贮分配,FORTRAN采用动态贮存分配策略。

(×)11.甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同。

(× ) 12.递归下降分析法是自顶向下分析方法。

(√ )13.产生式是用于定义词法成分的一种书写规则。

(×)14.在SLR(1)分析法的名称中,S的含义是简单的。

(√)15.综合属性是用于“ 自上而下” 传递信息。

(× )16.符号表中的信息栏中登记了每个名字的属性和特征等有关信息,如类型、种属、所占单元大小、地址等等。

(×)17.程序语言的语言处理程序是一种应用软件。

(×)18.解释程序适用于COBOL 和FORTRAN 语言。

(×)19.一个LL(l)文法一定是无二义的。

(√)20.正规文法产生的语言都可以用上下文无关文法来描述。

(√)21.一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。

(×)22.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。

(√)22.逆波兰法表示的表达式亦称后缀式。

(√ )23.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义的。

(√ )24.数组元素的地址计算与数组的存储方式有关。

护理程序复习题及答案

护理程序复习题及答案

护理程序复习题及答案1.组成护理程序框架的理论是()A. 系统论(正确答案)B.方法论C.信息交流论D.解决问题论E.人的基本需要层次论2.护理程序中直接影响护理诊断确定的步骤是()A. 护理评估(正确答案)B. 护理计划C. 护理实施D.护理评价E.护理过程3. 属于主观资料的是()A. 呼吸困难B.黄疸C.发绀D.心脏杂音E. 乏力(正确答案)4.收集主观资料主要通过()A. 仔细观察B. 认真交流(正确答案)C. 体格检查D. 实验室检查E. 借助仪器5.属于客观资料的是()A. 头痛B. 发绀(正确答案)C. 恶心D. 心慌E. 乏力6.记录患者资料时,错误的是()A. 收集完毕及时记录B. 主观资料的记录只能用患者自己的语言(正确答案)C. 客观资料的记录尽量使用医学术语D. 主观资料护士不能带自己的判断E. 客观资料应避免护士的主观判断7.护理诊断公式中的P代表()A.健康问题(正确答案)B.患者的症状C.患者的既往史D.发生健康问题的原因E.护理措施8.属于患者首优问题的是()A.温度过高:体温39.5℃B.舒适的改变:呃逆C.营养失调:高于机体需要D.家庭应对无效E.组织灌注量不足(正确答案)9.叙述正确的护理诊断是()A.潜在并发症B.口腔黏膜改变C.胸痛与心肌缺血有关D.营养失调:低于机体需要量(正确答案)E.失眠:与难以入睡有关10.护理程序的第二个步骤是()A.护理评估B.护理计划C.护理实施D.护理评价E.护理诊断(正确答案)11.关于护理目标的陈述不正确的是()A.护理目标应与医疗工作相协调B.陈述目标时主语应是护士或患者(正确答案)C.每个目标都应有具体日期D.一个目标针对一个护理诊断E.目标应切实可行,属于护理工作范围12.下列陈述不完整的护理目标是()A.患者1周内能下床活动B.患者3周内体重增长0.5kgC.患者一周内学会皮下注射胰岛素D.2周内借助支撑物下床活动E.患者能下床活动(正确答案)13.护理计划的制定主要针对()A.医疗诊断B.护理诊断(正确答案)C.检查结果D.现病史E.患者身体情况14.制定护理计划时,不正确的是()A.护理措施应符合实际B.护理措施应体现个体差异C.护理措施应依靠护士的经验制定(正确答案)D.护理措施应考虑到患者的安全E.护理措施应与其他医务人员的措施相协调15.实施护理措施时()A.应该与医疗工作密切配合,保持协调一致(正确答案)B.对利于疾病转归的措施无须征求患者及家属的意见C.应根据护士的时间安排患者的健康教育D.应重点观察患者的心理反应E.应教会患者掌握各项护理技术16.贯穿于护理活动全过程的是()A.护理评估和护理诊断B.护理诊断和护理计划C.护理计划和护理评价D.护理诊断和护理评价E.护理评估和护理评价(正确答案)17.护理评价中最重要的是()A.护理目标的评价B.护理措施的评价C.护理过程的评价D.护理效果的评价(正确答案)E.护理内容的评价18.采用PIO格式进行护理记录时,I指()A.护理问题B.护理措施(正确答案)C.护理评价D.护理结果E.护理评估19.在护理诊断的陈述中,字母E代表()A.诊断名称B.相关因素(正确答案)C.实验室检查D.诊断依据E.临床表现20.关于合作性问题,哪项叙述错误的是()A.合作性问题常指一些病理生理并发症B.合作性问题需要通过医嘱和护理措施共同处理C.关于合作性问题,护士的任务主要是提供监测D.并非所有的并发症都是合作性问题E.合作性问题是一种特殊的疾病诊断(正确答案)21.有关护理诊断和医疗诊断,下列叙述哪项是错误的()A.护理诊断随病情变化而变化B.医疗诊断描述的是一种疾病C.护理诊断描述的是个体对健康问题的反应D.医疗诊断在疾病的发展过程中是相对稳定的E.护理诊断的决策者是护理人员也可以是医生(正确答案) 22.下列有关护理诊断的陈述,错误的是()A.一个诊断可针对多个护理问题(正确答案)B.护理诊断以充分的主客观资料为依据C.护理诊断应是护理范围内可以解决的问题D.护理诊断决策者应是护理人员E.问题的描述不应是使用医疗诊断用语23有关护理目标的叙述不正确的是()A.一个目标只针对一个护理诊断B.制定的目标应切实可行C.目标的主语可以是病人也可以是护士(正确答案)D.目标应具体、可测量E.目标是护理结果而不是护理过程24.以下不属于客观资料的是()A.胸口疼痛(正确答案)B.呼吸困难C.面色发绀D.心律失常E.血压降低25.以下不属于主观资料的是()A.腿部疼痛B.右上肢麻木C.下肢活动软弱无力D.体温38.5℃(正确答案)E.皮肤瘙痒26.以下对护理目标的描述,正确的是()A.住院期间个人便秘得到改善B.3天内护士应解除便秘C.住院期间病人大便正常D.3天内病人的习惯性便秘得到纠正(正确答案)E.住院期间应使病人保持大便通畅27.有关资料收集的叙述,以下哪项是不准确的()A.资料有主观资料和客观资料B.客观资料是通过观察和体验等获得的资料C.主观资料只能由病人本人提供(正确答案)D.要客观记录病人的主述E.资料的记录不应带有主观结论28.除下列哪项外,均是采用观察法收集的资料()A.测量病人体温B.听右下肺有无湿啰音C.触摸皮肤温度、湿度D.阅读病人查体记录(正确答案)E.察看病人尿液颜色和性状29.病人男性,72岁,昏迷。

《Visual BASIC程序设计》期末考试选择题复习(180题)

《Visual BASIC程序设计》期末考试选择题复习(180题)

1. Visual Basic集成开发环境中不包括下列哪些窗口( )。

A、工具箱窗口B、工程资源管理器窗口C、属性窗口D、命令窗口参考答案是:D2. 在设计应用程序时,通过( )窗口可以查看到应用程序工程中的所有组成部分。

A、代码窗口B、窗体设计窗口C、属性窗口D、工程资源管理器窗口参考答案是:D3. 在正常安装Visual Basic6.0后,可以通过多种方式启动Visual Basic。

以下方式中不能启动Visual Basic的是:( )。

A、通过“开始”菜单中的“程序”命令B、通过“我的电脑”找到vb6.exe,双击该文件名C、通过“开始”菜单中的“运行”命令D、进入DOS方式,执行vb6.exe文件参考答案是:D4. Visual Basic 6.0工程文件的扩展名是( )。

A、.vbpB、.frmC、.basD、.cls参考答案是:A5. Visual Basic6.0是面向( )的程序设计语言。

A、过程B、工程C、事件D、对象参考答案是:D6. 下列关于Visual Basic编程特点的叙述中,错误的是( )。

A、Visual Basic 是采用事件驱动编程机制的语言B、构成Visual Basic 程序的多个过程没有固定的执行顺序C、Visual Basic 程序既可以编译运行,也可以解释运行D、Visual Basic 程序不是结构化程序,不具备结构化程序的3 种基本结构参考答案是:D7. Visual Basic 6.0集成开发环境有三种工作状态,不属于三种工作状态之一的是( )。

A、设计状态B、编写代码状态C、运行状态D、中断状态参考答案是:B8. 在Visual Basic 6.0中要获取上下文相关帮助,只需将光标定位在相应位置,再按( )A、F1B、F2C、F3D、F4参考答案是:A9. Visual Basic 6.0集成开发环境的主窗口中不包括( )。

A、标题栏B、菜单栏C、状态栏D、工具栏参考答案是:C10. 下列可以激活属性窗口的操作是( )。

软件测试复习题(附答案)

软件测试复习题(附答案)

软件测试复习题(附答案)一、单选题(共100题,每题1分,共100分)1.( )的优点是:对控制流程描述直观,便于初学者掌握。

A、盒图B、程序流程图C、PAD图D、判定表正确答案:B2.软件项目可行性分析的研究内容包括:技术可行性、经济可行性、运行可行性以及( )等。

A、环境可行性B、人员可行性C、法律可行性D、时间可行性正确答案:C3.( )是结构化系统分析的基本工具。

A、程序流程图B、对话图C、数据流图D、状态转化图正确答案:C4.在VC中,如果在Menu Item属性页中选择( )复选框,表示此菜单项是一个多级菜单,并且其右边将会出现一个新菜单框。

A、CheckedB、inactiveC、Pop-upD、Grayed正确答案:C5.( )是网络的核心,它的主要任务是为网络上的其它机器提供服务。

A、客户机B、服务器C、网络协议D、工作站正确答案:B6.虚拟机好似通用的计算机,有自己的指令系统,但本身没有( )。

A、翻译指令B、操作系统C、实际的硬件D、翻译程序正确答案:C7.所有的( )必须与业务需求一致。

A、用户需求B、系统需求C、产品需求D、功能需求正确答案:A8.软件测试是软件质量保证的重要手段()是软件测试的最基础环节A、单元测试B、验收测试C、确认测试D、系统测试正确答案:A9.( )也称为分支覆盖,是一种较强的逻辑覆盖。

A、路径覆盖B、判定覆盖C、条件组合覆盖D、条件覆盖正确答案:B10.下列有关测试说法中,正确的是()A、测试组的测试工作是在编码阶段开始的B、静态测试是不运行被测程序本身,而寻找程序代码中可能存在的错误或评估程序代码的过程C、所有的测试都适合引入测试工具辅助进行测试D、只要进行有效的测试,就能获得高质量的软件产品正确答案:B11.( )除提供身份证明外,还可指出所签的文档是否已被修改。

A、公开密钥B、传统签名C、私有密钥D、数字签名正确答案:D12.以下不用于单机版系统测试的是()。

编译原理复习题

编译原理复习题

B.寻找句型 B.中间代码生成 B.类型
C.消除递归
D.选择候选式 D.目标代码生成
30. ( B )和代码优化部分不是每个编译程序都必需的。 C.词法分析 31. 数组的内情向量中肯定不含有数组的( D )的信息。 C.维上下界 B.汇编器 B.消除右递归 B.句柄 D.各维的界差 C.解释器 C.消除回溯 C.最左素短语 D.待约 D.预处理器 32.把汇编语言程序翻译成机器可执行的目标程序的工作是由( B )完成的。 33. 采用自上而下分析,必须( C )。 D.提取公共左因子 D.素短语 34.在规范归约中,用( B )来刻画可归约串。 35. 若 a 为终结符,则 A->α · aβ为( B ) 项目。 C.接受 36.若项目集 Ik 含有 A->α · ,则在状态 k 时,仅当面临的输入符号 a∈FOLLOW(A)时,才采 取“A->α · ”动作的一定是( D )。 A.LALR 文法 A.指示器 A.┐AB∨∧CD∨ A.运行时间较短 间短且占用存储空间小 40.下列( C )优化方法不是针对循环优化进行的。 B.删除归纳变量 C.删除多余运算 D.代码外提 A.强度削弱 B.LR(0)文法 C.LR(1)文法 C.符号表 D.SLR(1)文法 D.程序变量 D.A┐B∨∧CD∨ D.运行时 37.四元式之间的联系是通过( B )实现的。 B.临时变量 38.表达式(┐A∨B)∧(C∨D)的逆波兰表示为( B )。 B.A┐B∨CD∨∧ B.占用存储空间较小 C.AB∨┐CD∨∧ 39. 优化可生成( D )的目标代码。 C.运行时间短但占用内存空间大
41.编译程序使用( B )区别标识符的作用域。 A.说明标识符的过程或函数名 的过程或函数的动态层次 42.间接三元式表示法的优点为( A )。 A.采用间接码表,便于优化处理 节省存储空间 43.基本块内的优化为( B )。 A. 代码外提, 删除归纳变量 环展开,循环合并 44. 在目标代码生成阶段,符号表用( D )。 A.目标代码生成 A.先请先放 46.如果文法 G 是满足 B.语义检查 B.先请后放 A C.语法检查 C.后请先放 D.地址分配 D.任意 45.堆式动态分配申请和释放存储空间遵守( D )原则。 ,则称为文法 G 是二义文法。 B. 删除多余运算, 删除无用赋值 C. 强度削弱, 代码外提 D. 循 B.节省存储空间,不便于表的修改 C.便于优化处理, D.节省存储空间,不便于优化处理 B.说明标识符的过程或函数的静态层次 C.说明标识符 D.标识符的行号

计算机操作完整系统期末复习题(带答案)

计算机操作完整系统期末复习题(带答案)

57计算机操作系统期末复习题第一部分操作系统基本概念一、选择题(选择最确切的一个答案,将其代码填入括号中)1、多道程序设计是指( B )。

A、有多个程序同时进入CPU运行B、有多个程序同时进入主存并行运行C、程序段执行不是顺序的D、同一个程序可以对应多个不同的进程2、从总体上说,采用多道程序设计技术可以( B )单位时间的算题量,但对每一个算题,从算题开始到全部完成所需的时间比单道执行所需的时间可能要( B )。

矚慫润厲钐瘗睞枥庑赖。

A、增加减少B、增加延长C、减少延长D、减少减少3、现代操作系统的两个基本特征是(C)和资源共享。

A、多道程序设计B、中断处理C、程序的并发执行D、实现分时与实时处理-3:C4、以下(C )项功能不是操作系统具备的主要功能。

A、内存管理B、中断处理C、文档编辑D、CPU调度5、用户在一次计算过程中,或者一次事物处理中,要求计算机完成所做的工作的集合,这是指(C)。

A、进程B、程序C、作业D、系统调用6、CPU状态分为系统态和用户态,从用户态转换到系统态的唯一途径是( C )。

A、运行进程修改程序状态字B、中断屏蔽C、系统调用D、进程调度程序7、系统调用的目的是( A )。

A、请求系统服务B、终止系统服务C、申请系统资源D、释放系统资源8、为用户分配主存空间,保护主存中的程序和数据不被破坏,提高主存空间的利用率的是(B )。

A、处理器管理B、存储器管理C、文件管理D、作业管理二、填空题1、计算机操作系统是方便用户、管理和控制计算机_软硬件资源_的系统软件。

2、采用多道程序设计技术能充分发挥处理器与外围设备与外围设备之间并行工作的能力。

3、操作系统目前有五大类型:_批处理_、_分时_、_实时_、_网络_和_分布式_。

4、操作系统的五大功能是:_处理机管理_、_储存管理_、_设备管理_、_信息管理_和_用户接口_。

5、UNIX系统是多用户分时交互型操作系统,DOS系统是单用户单任务操作系统。

PLC复习试题及答案

PLC复习试题及其答案(一)一、单项选择题1. PLC控制系统负载变化频繁且负载较大时,应该使用哪种输出形式的PLC?A. 继电器B. 晶体管C. 双向晶闸管正确答案: C2. FX系列PLC中,求平均值指令是?A. DADDB. DDIVC. SFTR正确答案: D(MEAN)3. 使用16位、32位高性能微处理器,且在一台PLC中配置多个微处理器进行多通道处理的是哪一代PLC?A. 第五代B. 第二代C. 第三代正确答案: D(第四代)4. PLC的输出方式为晶体管型时,它适用于哪种负载?A. 感性B. 交流C. 直流正确答案: C5. 步进电机在超过其额定转速时,扭矩会如何变化?A. 减小B. 不变C. 增大正确答案: A6. PLC的RS485专用通讯模块的通讯距离是多少?A. 1300MB. 200MC. 500M正确答案: C7. PLC的系统程序不包括什么?A. 管理程序B. 供系统调用的标准程序模块C. 用户指令解释程序正确答案: D(开关量逻辑控制程序)8. 工业中控制电压一般是直流还是交流?A. 直流B. 交流正确答案: A9. FX系列PLC的AC输入电源电压范围是多少?A. DC24110VB. AC86246V正确答案: B10. 可编程控制器的存储器中,可进行读写的是哪种存储器?A. RAMB. ROM正确答案: A二、填空题1. PLC主要由______、I/O、存储器和通信模块等组成。

答案:CPU2. PLC的输出接口类型有继电器、______与场效应晶体管。

答案:晶闸管3. PLC的软件系统可分为系统程序和______两大部分。

答案:用户程序4. PLC采用______工作方式,其过程可分为五个阶段:自诊断检查、通信处理、输入采样、执行用户程序和输出改写。

答案:循环扫描5. 在梯形图编程中,传送指令MOV的功能是将______内容传送给目的通道中,源通道内容不变。

《编译原理》复习题(看完必过)

《编译原理》复习题(看完必过)一、单项选择题1.将编译程序分成若干个“遍”是为了( B )A.提高程序的执行效率B. 使程序的结构更加清晰C.利用有限的机器内存并提高机器的执行效率D.利用有限的机器内存但降低了机器的执行效率2.不可能是目标代码的是( D )A.汇编指令代码 B.可重定位指令代码C.绝对指令代码 D.中间代码3.词法分析器的输入是( B )A.单词符号串 B.源程序C.语法单位 D.目标程序4.中间代码生成时所遵循的是( C )A.语法规则 B.词法规则C.语义规则 D.等价变换规则5.编译程序是对( D )A.汇编程序的翻译 B.高级语言程序的解释执行C.机器语言的执行 D.高级语言的翻译6.词法分析应遵循( C )A.语义规则 B.语法规则C.构词规则 D.等价变换规则7.词法分析器的输出结果是( C )A.单词的种别编码 B.单词在符号表中的位置C.单词的种别编码和属性值 D.单词属性值8.正规式M1和M2等价是指( C )A.M1和M2的状态数相等 B.M1和M2的有向弧条数相等C.M1和M2所识别的语言集相等 D.M1和M2状态数和有向弧条数相等9.词法分析器作为独立的阶段使整个编译程序结构更加简洁、明确,因此,( B ) A.词法分析器应作为独立的一遍B.词法分析器作为子程序较好C.词法分析器分解为多个过程,由语法分析器选择使用.D.词法分析器并不作为一个独立的阶段10.如果L(M1)=L(M2),则M1与M2( A )A .等价B .都是二义的C .都是无二义的D .它们的状态数相等 11.文法G :S →xSx|y 所识别的语言是( C )A .xyxB .(xyx)* c .x n yx n (n ≥0) d .x *yx *12.文法G 描述的语言L(G)是指( A ) A.⎭⎬⎫⎩⎨⎧∈⇒=+*,|)(T V S G L αααB .⎭⎬⎫⎩⎨⎧⋃∈⇒=+*)(,|)(N T V V S G L ααα C .⎭⎬⎫⎩⎨⎧∈⇒=**,|)(T V S G L αααD .⎭⎬⎫⎩⎨⎧⋃∈⇒=**)(,|)(N T V V S G L ααα 13.有限状态自动机能识别( C )A .上下文无关文法B .上下文有关文法C .正规文法D .短语文法14.如果文法G 是无二义的,则它的任何句子( A ) A .最左推导和最右推导对应的语法树必定相同 B .最左推导和最右推导对应的语法树可能不同 C .最左推导和最右推导必定相同D .可能存在两个不同的最左推导,但它们对应的语法树相同 15.由文法的开始符经0步或多步推导产生的文法符号序列是( C ) A .短语 B .句柄 C .句型 D .句子 16.文法G :E →E+T|T T →T*P|P P →(E)|i则句型P+T+i 的句柄为( B )A .P+TB .PC .P+T+iD .i 17.文法G :S →b|∧|(T) T →T ∨S|S 则FIRSTVT(T)=( C )A .{ b ,∧,( }B .{ b ,∧,) }C .{ b ,∧,(,∨ }D .{ b ,∧,),∨ } 18.产生正规语言的文法为( D )A .0型B .1型C .2型D .3型19.任何算符优先文法( D )优先函数。

编译技术复习题答案

第一章:编译系统概述一.单选题1.编译程序前三个阶段完成的工作是(C)。

A.词法分析、语法分析和代码优化B.代码生成、代码优化和词法分析C.词法分析、语法分析、语义分析和中间代码生成D.词法分析、语法分析和代码优化2.编译程序绝大多数时间花在(D)上。

A.出错处理B.词法分析C.目标代码生成D.表格管理3.编译程序是对(C)。

A.汇编程序的翻译B.高级语言程序的解释执行C.高级语言的翻译D.机器语言的执行4.在使用高级语言编程时,首先可通过编译程序发现源程序的全部(A)错误。

A.语法B.语义C.语用D.运行二.填空题1.编译程序首先要识别出源程序中每个( 单词),然后再分析每个( 句子)并翻译其意义。

2.通常把编译过程分为分析前端与后端两大阶段。

词法、语法和语义分析是对源程序的( 分析),中间代码生成、代码优化与目标代码的生成则是对源程序的(综合)。

3.对编译程序而言,输入数据是( 源程序),输出结果是( 目标程序)。

4.对下列错误信息,请指出可能是编译的哪个阶段(词法分析、语法分析、语义分析、代码生成)报告的。

(1)else 没有匹配的if (语法分析)(2)数组下标越界(语义分析)(3)使用的函数没有定义(语法分析)(4)在数中出现非数字字符(词法分析)5.如果编译程序生成的目标程序是机器代码程序,则源程序的执行分为两大阶段:(编译阶段)和(运行阶段)。

如果编译程序生成的目标程序是汇编语言程序,则源程序的执行方式分成三个阶段:(编译阶段)(汇编阶段)和(运行阶段)。

6.编译程序在其工作过程使用最多的数据结构是(表),它记录着源程序中各种信息,以便查询或修改,在这些(表)中,尤以(符号表)最重要,它的生存期最长,使用也最频繁。

三.简述题:1.编译程序的工作分为那几个阶段?答:词法分析、语法分析和语义分析是对源程序进行的分析(称为编译程序的前端),而中间代码生成、代码优化和代码生成三个阶段合称为对源程序进行综合(称为编译程序的后端),它们从源程序的中间表示建立起和源程序等价的目标程序。

编译原理复习题

一、判断题1.SLR(1)分析法是一种规范归约分析法。

()2.算符优先文法可以是二义性文法。

()3.每个短语都是某规则的右部。

()4.语法分析时必须先消除文法中的左递归。

()5.如果两个正规式是等价的,则它们所表示的正规集相同。

()()1.编译程序的输入是高级语言程序,输出是机器语言程序。

()2.文法G[S]:S→iSeS|iS|i是二义文法。

()3.若一个语言的句子有无穷多个,则对应的文法必定是递归的。

()4.上下文无关文法可以产生语言L={a n b n a m b m | n,m≥0}。

()5.设文法G[N]:N→ND|D,D→0|1|2|3|4|5|6|7,则句子3247的最右推导为:N=>ND=>N4=>ND4=>N74=>ND74=>N274=>D274=>3274。

()6.每一个NFA都对应有唯一的一个最小化的DFA。

()7.文法G[S]:S→(S)S|ε不是LL(1)文法。

()8.若文法任一产生式的右部不含两个相继的非终结符(…QR…),则称该文法为算符文法。

()9.优先函数是唯一的,有的优先关系矩阵不存在对应的优先函数。

()10.在LR(1)分析法中,搜索符仅对规约项目才有意义。

1、文法规则的左部就是非终结符号。

2、乔姆斯基定义1型文法对规则的限制比2型文法对规则的限制要多一些。

3、LR(K)分析法能彻底解决冲突。

4、一个程序是正确的是指该程序的语法是完全正确的。

5、每一个编译程序都由完成词法分析、语法分析、语义分析、代码优化和代码生成工作的五部分程序组成。

6、多遍扫描的编译程序优于单遍扫描的编译程序。

7、每个句子都有规范推导;每个句型都有规范推导。

8、存在这样一些语言,它们能被确定有限自动机(DFA)识别,但不能用正规表达式表示。

9、每一个NFA都对应有唯一的一个最小化的DFA。

10、若给定文法G和某个固定的k,则G是否是LR(k)文法是可判定的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

写出下列程序运行结果: 1.下面的程序实现输出x,y,z三个数中的最大值,请填入正确的内容。 #include void main() { int x=5,y=8,z=9, u, v; if( (1) ) u=x; else u=y; if( (2) ) v=u; else v=z; cout<<”v=”<} 2.下面程序是输出100以内能被7整除且个位数是4的所有整数,请填空: #include void main() { int i,j; for(i=0; (1) ;i++) { j=i*10+4; if( (2) ) continue; (3) cout<} } 3.下列函数swap实现数据交换功能功能,请填空。 #include void swap(int *p,int *q) {int temp; temp=*p; ; ; } void main() {int a,b; int *p1,*p2; cout<<"请输入两个正数:"; cin>>a>>b; p1=&a; p2=&b; swap(p1,p2); cout<<"结果a和b的值:"<} 4. 下面是计算并输出矩阵每一行的元素之和的程序。 #include using namespace std; void RowSum(int A[][4], (1) ) { int sum; for (int i = 0; i < nrow; i++) { (2) ; for(int j = 0; j < 4; j++) sum += A[i][j]; cout << "Sum of row " << i << " is " << sum << endl; A[i][0]=sum; } } void main(void) { int Table[3][4] = {{1,2,3,4},{2,3,4,5},{3,4,5,6}}; for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) cout << Table[i][j] << " "; cout << endl; } RowSum( (3),3); for (int i = 0; i < 3; i++) cout << Table[i][0] } 5.已知一个类的定义如下: #include class AA { int a[10]; int n; public: void SetA(int aa[], int nn); //用数组aa初始化数据成员a,用nn初始化数据成员n int MaxA(); //从数组a中前n个元素中查找并输出最大值 void SortA(); //采用选择排序的方法对数组a中前n个元素,进行从小到大排序 }; 该类中MaxA()函数的实现如下,请在标号位置补充适当的内容。 int ____(1)_____ { int x=a[0]; for(int i=1; iif(a[i]>x) ___(2)___; ___(3)___; } 6.声明一个哺乳动物Mammal类,再由此派生出狗Dog类,二者都定义Speak( )成员函数,基类中定义为虚函数。声明一个Dog类的对象,用指向Mammal的指针调用Speak()函数。 程序: #include class Mammal { public: Mammal() {cout<<"call Mammal"< (1) {cout<<" call base class"<}; class Dog :public Mammal { public: Dog() {cout<<"call Dog\n"; } void speak() {cout<<"call Dog class\n"; } }; void main() { Mammal *pm,a; a.speak(); Dog b; pm=&b; (2) ; } 答案:1. (1)x>y (2) u>z 2. (1)i<=9或i<10 (2)j%7!=0 (3)else 3. (1) *p=*q (2) *q=temp 4. (1) int nrow (2) sum = 0 (3) Table 5. (1) AA::MaxA() (2) x=a[i] (3) cout<6. (1) virtual void speak() (2) pm->speak()

1.输入一个字母,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其它字符不变。填入正确内容。 #include void main() { char ch; cin>>ch; if(_____(1)______) ch=ch+32; else if(ch>=’a’ &&ch<=’z’)____(2)_____; cout<} 2.计算1~20之间偶数之和,请填充: #include void main() { int a,b,i; a=0;b=0; for(i=0; (1) ;i+=2) { a+=i; (2) ; (3) ; cout<<”偶数之和为:”<} 3.读入三个浮点数,将整数部分和小数部分分别输出 #include using namespace std; void splitfloat(float x, int *intpart, float *fracpart) { *intpart = int(x); *fracpart = (1) ; } void main(void) { int i, n; float x, f; cout << "Enter three floating point numbers" << endl; for (i = 0; i < 3; i++) { cin >> x; splitfloat(x,&n, (2) ); cout << "Integer Part is " << n << " Fraction Part is " << f << endl; } } 4.下面的程序是实现矩阵的转置: #include using namespace std; void main() { int i, j,k,seed; (1) ; cin>>seed; srand(seed); cout << "产生的矩阵的为:" << endl; for(i=0; i<3; i++) {for (j=0; j<3; j++) {data[i][j]=rand()%100; cout << data[i][j] << " ";} (2) ;} for(i=0; i<3; i++) for (j=0; j{ k = data[i][j]; data[i][j] = (3) ; data[j][i] = k; } cout << "转置后的矩阵的为:" << endl; for(i=0; i<3; i++) { for (j=0; j<3; j++) cout << data[i][j] << " "; cout << endl; } } 5.已知一维数组类ARRAY的定义如下,构造函数的作用是把参数n的值赋给s,给v动态分配长度为n的数组空间,接着利用数组参数a初始化v所指向的数组。请将程序段补充完整。 class ARRAY{ int *v; //指向存放数组数据的空间 int s; //数组大小 public: ARRAY(int a[], int n); ~ ARRAY(){delete []v;} int size(){ return s;} int& operator[](int n); }; (1) ARRAY(int a[], int n) //实现构造函数 { if(n<=0) {v=NULL;s=0;return;} s=n; v= (2) ; for(int i=0; i} 6.声明一个Shape抽象类,在此基础上派生出Circle类,二者都有getarea( )函数计算对象的面积。 #include #include class shape { public: (1) ; }; class rectangle:public shape { int a,b,c; double s,p; public: rectangle(int a1,int b1,int c1) {a=a1;b=b1;c=c1;} void getarea() { p=(a+b+c)/2.0; s=sqrt(p*(p-a)*(p-b)*(p-c)); cout<<"面积 "<} }; void main() { shape *p; rectangle a(3,4,5); (2);

相关文档
最新文档