流程控制异常和断言有关断言的题不用做
- 格式:docx
- 大小:393.39 KB
- 文档页数:14
六西格玛黑带模拟测试题及答案(三)一、单选题(共84题,每题1分)1、题目:将降雨量按“旱”、“偏少”、“中等”、“偏多”、“涝”分为5类,这种分类方法属于下列哪个测量尺度A.定类B. 定序C. 定距D. 定比2、题目:当两个以上结果和原因之间互相缠绕,存在复杂因果关系,应采用什么工具进行分析更合适A.关联图B. 排列图C. 分层法D. 因果图3、题目:A.流程非常稳定,无异常B.流程均值发生了偏移C.控制界限太宽,需要重新计算控制限D.子组波动太大,应重新划分子组4、题目:在生产化肥磷酸钾的过程中,经过因子试验,发现温度和压力两个因子都对产量有显着影响,又进行一轮二因子(+3次中心点试验)的全因子试验:温度取180度(-)、200度(+);压力取220帕(-)240帕(+)。
对试验结果的分析中发现回归方程的弯曲很严重,下一步必须进行响应曲面试验。
由于经费困难,希望试验次数尽可能地少,而试验条件上的温度又不可能超过200度。
希望能在归纳出二阶回归方程的条件下尽量减少试验次数,这时可行的最好的方法是:A.采用CCC(中心复合序贯设计),只再增加4个星号点(轴向点)试验B.采用CCI(中心复合有界设计),只再增加4个星号点(轴向点)试验C.采用CCF(中心复合表面设计),只再增加4个星号点(轴向点)试验D.采用CCF(中心复合表面设计),除再增加4个星号点(轴向点)试验外,还要再加3个中心点试验5、题目:芯片镀膜是某企业生产中关键的一步,为此必须对于镀膜厚度进行监控。
通常将芯片固定在测试台后,由中心向外每45度画出射线将芯片分为等面积的8个扇形区域,在每个扇形内任意选取一点,测量出这8个点的厚度。
现在生产已经相当稳定,为了维持它的稳定性,决定对于厚度的均值及波动都进行检测。
这时,按国家标准的规定,控制图应该选用:A.使用Xbar-R控制图B.使用Xbar-S控制图C.使用p图或np图D.使用C图或U图6、题目:某六西格玛项目团队拟采用DOE对工艺进行优化,进行分析后发现四个可控因素(温度、压力、角度、速度)可能对试验输出(y)产生影响,同时又有人提出不同的班次(有2个班)也可能有影响,但并不能确定是否班次真正有影响。
六西格玛黑带模拟测试题及答案(一)单选题(共84题,每题1分)1、题目:2、题目:某制造企业需求一零件,规格要求为100±3cm,在选择供应商时发现:供应商A 提供的零件近似服从正态分布N(100,1),供应商B提供的零件近似服从均匀分布U(97,103);供应商A、B提供产品的价格相同,同时,该企业非常关注质量损失.以下哪种说法是正确的?A.从理论上讲,A零件的合格率是99。
73%,供应商B提供100%合格品,因此应选择B作为供应商B.从供应商提供产品的分布看,均值相同,选择供应商A或B一样C.A质量损失更低一些,应选择A作为供应商D.根据上述信息无法做出判断3、题目:某轴类加工过程中已知对直径的公差要求为10±0.02mm,假设直径服从正态分布,对该过程进行过程能力分析发现Cp=1.0,Cpk=Cpu=0.8,因此可以判断,该过程分布中心是:A.10.001mmB.10。
002mmC.10.004mmD.10。
006mm4、题目:黑带小金研究的课题是关于绝缘浇铸件的表面质量问题,在收集数据进行分析之前对现有的测量系统进行分析,以确认测量系统是否可以信赖.为此,小金设计了MSA方案:取两名测量员,30个被测工件,每人对每个铸件重复测量两次,测量方法是在强光的照射下,目测是否有划痕、磕碰等,判断结果为合格与不合格。
请问在抽取被测工件时按以下哪种方案最为合适?A.用简单随机抽样的方法,从实际生产中随机选取30个样本B.按照日常生产的产品的实际合格率分别抽取合格品和不合格品选取30个样本C.尽可能按照1:1的比例抽取总数为30的合格品和不合格品,不合格品尽可能包括日常出现的缺陷类别D.从最近一个月生产的产品中连续抽取30个样本5、题目:选择项目CTQ(critical to quality)是一项重要的工作,关于如何选择CTQ,下列描述不正确的是:A.CTQ一定是计量型数据B.CTQ一定与顾客需求或企业关键业务指标相关C.当CTQ本身不可测或很难测量时,可以采用待用测量指标D.当CTQ数量较多时,可以采用排列图或质量成本分析确定最重要的CTQ6、题目:冷轧厂的原料是热轧卷,热轧卷用汽车从热轧卷车间运输到冷轧厂,如果对该流程进行增殖性分析,试问,汽车运输热轧卷的过程是否为顾客增值过程?A.增值活动,因为运输本身创造价值B.增值活动,因为运输是必不可少的过程C.非增值活动,应该尽量缩短或消除D.无法确定7、题目:某项目团队在测量阶段要测量其项目指标“温度"的过程能力,收集温度数据时每半小时测量一次,每次测得1个数据,共收集30个数据,过程稳定且数据服从正态分布,采用MINITAB计算得出,Cp=1。
java考试大纲Java考试大纲一、Java语言基础1. Java语言概述- Java的起源、特点、应用领域- Java开发环境的搭建(JDK、IDE)2. 基本语法- 标识符、关键字、数据类型、变量- 运算符、表达式、语句3. 控制流程- 条件语句(if、switch)- 循环语句(for、while、do-while)- 跳转语句(break、continue、return)4. 数组- 一维数组和二维数组的定义和使用- 数组的遍历、查找、排序5. 字符串- 字符串的定义、赋值、连接- 字符串常用方法(indexOf、substring、replace等)二、面向对象编程1. 面向对象基础- 类和对象的概念- 封装、继承、多态的实现2. 类和对象- 类的定义、成员变量、方法- 对象的创建和使用3. 继承- 继承的概念、super关键字的使用- 方法重写(Override)4. 多态- 多态的概念、实现方式- 接口和抽象类的使用5. 包和访问控制- 包的概念、使用- 访问控制(public、private、protected)三、集合框架1. 集合概述- 集合框架的组成、特点2. List接口- ArrayList、LinkedList的特点和使用3. Set接口- HashSet、LinkedHashSet、TreeSet的特点和使用4. Map接口- HashMap、LinkedHashMap、TreeMap的特点和使用5. 集合的遍历和操作- 迭代器(Iterator)的使用- 增强型for循环四、异常处理1. 异常的概念- 异常的分类、处理机制2. 异常处理- try、catch、finally的使用- 自定义异常的创建和抛出3. 断言和错误- 断言(assert)的使用- 错误的分类和处理五、输入输出(I/O)流1. 流的概念- 流的分类、作用2. 字节流- InputStream、OutputStream的使用3. 字符流- Reader、Writer的使用4. 文件操作- 文件的创建、读取、写入、删除5. 缓冲流- BufferedInputStream、BufferedOutputStream等的使用六、多线程编程1. 线程的概念- 线程的生命周期、状态2. 线程的创建和启动- 继承Thread类、实现Runnable接口3. 线程的同步- 同步方法、同步代码块- 锁(Lock)的使用4. 线程间通信- wait、notify、notifyAll的使用5. 线程池- Executor框架的使用七、Java网络编程1. 网络基础- 网络通信的基本原理2. Socket编程- ServerSocket、Socket的使用3. URL和URLConnection- URL的解析、URLConnection的使用4. HTTP协议- HTTP请求和响应的处理八、Java数据库连接(JDBC)1. JDBC概述- JDBC的作用、组件2. 数据库连接- DriverManager、Connection的使用3. SQL语句执行- Statement、PreparedStatement的使用4. 结果集处理- ResultSet的使用5. 事务处理- 事务的概念、处理方式九、Java Web基础1. Web应用概述- Web应用的组成、运行环境2. Servlet技术- Servlet的概念、生命周期、配置3. JSP技术- JSP的概念、页面指令、内置对象4. 会话管理- Cookie、Session的使用5. MVC模式- MVC的概念、实现十、Java开发工具和环境1. 开发工具- Eclipse、IntelliJ IDEA等IDE的使用2. 版本控制- Git的基本使用3. 构建工具- Maven、Gradle的使用4. 持续集成- Jenkins等CI工具的使用5. 测试- JUnit等测试框架的使用本大纲涵盖了Java语言的基础知识、面向对象编程、集合框架、异常处理、I/O流、多线程编程、网络编程、JDBC、Web基础以及开发工具和环境等多个方面,旨在为学习者提供一个全面的Java学习路径。
国际内部审计师《内部审计实务》强化练习(2022年3月1日-2022年3月31日)单项选择题1、关于内部和外部审计师的关系,以下哪项正确?A.内部审计师必须向外部审计师提供审计程序和工作底稿。
B.组织可以利用外部审计师的成果来提供内部审计范围内的相关确认服务。
C.内部和外部审计师之间必须定期召开会议,讨论共同关注的事项。
D.外部审计师必须评估内部审计师的能力和客观性。
正确答案:B答案解析组织可以利用外部审计师的成果来提供内部审计范围肉的相关确认服务。
在这种情况下,CAE 应采取必要的步骤了解外部审计师所从事的工作。
考察知识点内部审计与外部审计、监管机构、其他内部确认部门之间的协调,及其内部审计与其他确认服务提供方之间相互利用工作成果的可能性2、现金收入应在取得的当天或下一个营业日存入银行。
请选择能证实现金被及时送存银行的最恰当审计程序。
A.审查记录每笔销售业务的现金出纳机磁带。
B.审查现金送存与保管会计记录职责是否正确分离。
C.比较每天现金收入总额与银行存款数。
D.审查现金收款与付款职责是否正确分离。
正确答案:C答案解析a.不正确。
这只能证实销售业务的现金是否收到,但不能证明现金是否被及时送存银行。
b.不正确。
现金送存银行是现金处理的一个程序,与职责分离关系不大。
c.正确。
只有现金收入总额和银行存款数核对无误的情况下才能证实现金被及时送存银行。
d.不正确。
收付款的分离职责与现金是否被及时送存银行没有直接关系。
考察知识点审计程序3、在风险评估坐标图中,风险发生的可能性是影响风险评级的重要参数,另一个重要参数是?A.风险的偏好。
B.组织对风险的容忍度。
C.风险的类型。
D.风险对组织产生的影响。
正确答案:D答案解析根据《标准》“风险”词汇表,风险是对实现.目标有影响的事件实际发生的可能性。
风险通过影响程度和发生的可能性来衡量。
因此,在风险评估中,除了考虑风险发生的可能性,还有风险可能导致的损失,风险事件是损失发生的可能性与损失大小的联合概率,因此另一个重要的参数是风险对组织的影响。
中国质量协会注册六西格玛黑带考试单选题1. 黑带是六西格玛管理中最为重要的角色之一。
在下面的陈述中,哪些不是六西格玛黑带应承担的任务:答案 DA. 在倡导者(Champion)和资深黑带(MBB)的指导下,带领团队完成六西格玛项目B. 运用六西格玛管理工具方法,发现问题产生的根本原因,确认改进机会;C. 与倡导者资深黑带以及项目相关方沟通,寻求各方的支持和理解;D. 负责整个组织六西格玛管理的部署,为团队确定六西格玛管理推进目标,分配资源并监控进展。
2. 确定项目选择及项目优先级是下列哪个角色的责任:答案 DA.黑带B.黑带大师C.绿带D.倡导者3. 在分析X −R控制图时应:答案 BA. 先分析X 图然后再分析R 图B. 先分析R 图然后再分析X 图C. X 图和R 图无关,应单独分析D. 以上答案都不对4.在六西格玛管理的组织结构中,下面的陈述哪个是正确的:答案 CA. 黑带应当自主决定项目选择B.绿带的数量和素质是推行六西格玛获得成功的关键因素C.倡导者对六西格玛活动整体负责,确定前进方向D.以上都不是5. 质量管理大师戴明先生在其著名的质量管理十四条中指出“停止依靠检验达成质量的做法”,这句话的含义是:答案 BA. 企业雇佣了太多的检验人员,对经营来说是不经济的。
B. 质量是设计和生产出来的,不是检验出来的。
C. 在大多数情况下,应该由操作人员自己来保证质量,而不是靠检验员保证。
D. 人工检验的效率和准确率较低,依靠检验是不能保证质量的。
6. 在下列陈述中,不正确的是:答案 AA. 六西格玛管理仅是适合于制造过程质量改进的工具;B. 六西格玛管理是保持企业经营业绩持续改善的系统方法;C. 六西格玛管理是增强企业领导力和综合素质的管理模式;D. 六西格玛管理是不断提高顾客满意程度的科学方法。
7.下列说法错误的是: 答案 BA. 界定阶段包括界定项目范围、组成团队。
B. 测量阶段主要是测量过程的绩效,即Y,在测量前要验证测量系统的有效性,找到并确认影响Y 的关键原因。
c语言的32个关键字及其含义C语言是一门广泛应用于计算机编程的高级编程语言,其简洁、高效的特点使之成为许多程序员的首选。
而C语言的关键字则是构成C语言语法结构的基石,掌握这些关键字的含义对于编写高质量的C代码至关重要。
本文将会介绍C语言的32个关键字及其含义。
一、自动变量(auto)auto关键字用于声明自动变量,自动变量是在代码块中定义的变量。
它们的生命周期仅限于所在代码块,函数的参数也属于自动变量。
二、断言(assert)assert关键字用于在程序运行时进行断言验证,如果断言条件为假,程序将会中止执行。
断言通常用于调试和排错。
三、带宽限定(band)band关键字用于限定带宽,常用于定义延迟函数、外部中断和总线访问等场景。
四、布尔类型(bool)bool关键字用于声明布尔类型的变量,布尔类型只有两个值:真和假。
一般用于判断语句和循环语句的条件。
五、跳过(break)break关键字用于跳出循环或者switch语句块,提前终止程序的执行。
六、函数调用(call)call关键字用于向函数传递参数并调用函数。
它与return关键字相对应,后者用于从函数返回结果。
七、case标签(case)case关键字用于定义switch语句中不同分支的标签,根据不同的条件执行相应的代码。
八、常量(const)const关键字用于声明常量,常量值在程序执行期间不可更改。
通常用于定义不变的特定值,提高代码的可读性和可维护性。
九、continue(continue)continue关键字用于结束当前循环的当前迭代,并进入下一轮循环的迭代。
通常用于跳过某些不满足条件的循环迭代。
十、默认(default)default关键字用于定义switch语句中默认分支的代码块。
如果没有匹配的case 标签,将会执行默认分支的代码。
十一、定义(define)define关键字用于定义宏。
宏是一种在程序编译之前被展开的符号常量或者代码片段。
结构化程序设计方法的基本要点简介结构化程序设计方法是一种用于构建大型程序的系统性方法。
它通过将程序分解为一系列小的、可管理的模块,以及规定了模块之间的交互方式,从而降低程序的复杂性,提高程序的可维护性和可读性。
本文将从以下几个方面详细介绍结构化程序设计方法的基本要点。
1. 模块化模块化是结构化程序设计方法的核心思想之一。
模块化将程序分解为多个功能相对独立的模块,每个模块负责完成一个特定的任务。
模块化有助于提高程序的可读性,可维护性和可重用性。
1.1 模块划分在进行模块划分时,可以按照功能划分原则,将程序划分为几个不同的功能模块,每个模块负责完成一个特定的功能。
也可以按照数据划分原则,将程序划分为几个处理不同数据的模块。
模块应该具有清晰的职责和界限,不同模块之间的功能和数据交互应该通过接口进行。
1.2 接口设计模块之间的接口设计是模块化的关键。
接口应该明确定义模块之间的输入和输出,以及数据的传递方式。
良好的接口设计可以降低模块之间的耦合度,提高代码的可复用性,使得模块可以独立开发和测试。
1.3 函数与过程模块可以通过函数或过程来实现。
函数是一段可重用的代码,用于执行特定的计算或操作,并返回一个结果。
过程是一段可重用的代码,用于执行一系列操作,不返回结果。
函数和过程有助于将程序划分为更小的单元,提高程序的可读性和可维护性。
2. 控制结构控制结构是结构化程序设计方法的另一个重要要点。
控制结构用于控制程序的执行流程,改变程序的执行顺序或执行条件。
2.1 顺序结构顺序结构是程序从上到下按照顺序执行的控制结构。
顺序结构是程序的基础,所有的程序都是从顺序结构开始进行。
2.2 选择结构选择结构用于根据条件选择执行不同的代码块。
常见的选择结构包括if语句和switch语句。
if语句用于判断一个条件是否成立,如果条件成立,则执行其中的代码块;否则执行其他代码块。
switch语句可以根据一个表达式的值选择执行不同的代码块。
Java中的断⾔assert的⽤法Java陷阱之assert关键字⼀、概述在C和C++语⾔中都有assert关键,表⽰断⾔。
在Java中,同样也有assert关键字,表⽰断⾔,⽤法和含义都差不多。
⼆、语法在Java中,assert关键字是从JAVA SE 1.4 引⼊的,为了避免和⽼版本的Java代码中使⽤了assert关键字导致错误,Java在执⾏的时候默认是不启动断⾔检查的(这个时候,所有的断⾔语句都将忽略!),如果要开启断⾔检查,则需要⽤开关-enableassertions或-ea来开启。
assert关键字语法很简单,有两种⽤法:1、assert <boolean表达式>如果<boolean表达式>为true,则程序继续执⾏。
如果为false,则程序抛出AssertionError,并终⽌执⾏。
2、assert <boolean表达式> : <错误信息表达式>如果<boolean表达式>为true,则程序继续执⾏。
如果为false,则程序抛出ng.AssertionError,并输⼊<错误信息表达式>。
三、应⽤实例下⾯给出⼀个例⼦,通过例⼦说明其⽤法:1. public class AssertFoo {2.3. public static void main(String args[]) {4.5. //断⾔1结果为true,则继续往下执⾏6.7. assert true;8.9. System.out.println("断⾔1没有问题,Go!");10.11.12.13. System.out.println("\n-----------------\n");14.15.16.17. //断⾔2结果为false,程序终⽌18.19. assert false : "断⾔失败,此表达式的信息将会在抛出异常的时候输出!";20.21. System.out.println("断⾔2没有问题,Go!");22.23. }24.25. }26.保存代码到C:\AssertFoo.java,然后按照下⾯的⽅式执⾏,查看控制台输出结果:1、编译程序:C:\>javac AssertFoo.java2、默认执⾏程序,没有开启-ea开关:1. C:\>java AssertFoo2.3. 断⾔1没有问题,Go!4.5.6.7. -----------------8.9.10.11. 断⾔2没有问题,Go!12.3、开启-ea开关,执⾏程序:1. C:\>java -ea AssertFoo2.3. 断⾔1没有问题,Go!4.5.6.7. -----------------8.9.10.11. Exception in thread "main" ng.AssertionError: 断⾔失败,此表达式的信息将12.13. 会在抛出异常的时候输出!14.15. at AssertFoo.main(AssertFoo.java:10)四、陷阱assert关键字⽤法简单,但是使⽤assert往往会让你陷⼊越来越深的陷阱中。
注释:黄色表示重复或相似一、选择题1.软件测试的目的是(B )A.避免软件开发中出现的错误B.发现软件中出现的错误C.容忍软件中出现的错误D.修改软件中出现的错误2.对于逻辑表达式((a&b)| |c),需要(C )个测试用例才能完成条件组合覆盖。
A. 2B. 3C. 4D. 53.逻辑覆盖法不包括(C )。
A.分支覆盖B.语句覆盖C.需求覆盖D.修正条件判定覆盖4.如果某测试用例集实现了某软件的路径覆盖,那么它一定同事实现了该软件的(A )。
A.判定覆盖B.条件覆盖C.判定/条件覆盖D.组合覆盖5.使用白盒测试方法时,确定测试数据的依据是指定覆盖标准和(B )。
A.程序的注释B.程序的内部逻辑C.用户使用说明书D.程序的需求说明6.划分软件测试属于白盒测试还是黑盒测试的依据是(C )。
A.是否执行程序代码B.是否能看到软件设计文档C.是否能看到被测源程序D.运行结果是否确定7.单元测试中用来模拟被测模块调用者的模块是(C )A .父模块B.子模块C.驱动模块D.桩模块8.不属于单元测试内容的是(A )A.模块接口测试B.局部数据结构测试C.路经测试D.用户界面测试9.客户端交易处理性能指标是一类重要的负载压力测试指标,以下不属于客户端交易处理性能指标的是(C )A.负载测试B.压力测试C.疲劳强度测试D.大数据量测试岳户端交易P理悔E扌前遅住至要刃处载压尢I测试福标.以F不苗于吉户皓交易处理性能生折的星D .A.井贡用户栽B .平肉爭莞■![向应时间C .毎也事努却D .毎砂iS程切换戡忘击鱼看警釜逆人在徒視老为眩测其Wet)至魏可更持的坯大在蛙兩户数.应曲亍_L.池-鱼瀏赋B.压力测试C.底劳脊度测诂D .疋耶删!试10.以下不属于易用性而的是(D )A. 功能易用性测试B. 用户界面测试C. 辅助功能测试D. 可靠性测试E.避免软件开发中出现的错误F.发现软件中出现的错误G.容忍软件中出现的错误H.修改软件中出现的错误12.软件的测试对象包括(D )。
第四章习题一、选择题1. 从供选择的答案中选出应填入下列< >中的字句.软件测试的目的是〔 A 〕.为了提高测试的效率,应该〔 B 〕.使用白盒测试方法时,确定测试数据应根据〔 C 〕和指定的覆盖标准.与设计测试数据无关的文档是〔 D 〕.软件的集成测试工作最好由〔 E 〕承担,以提高集成测试的效果.供选择的答案:A. ①评价软件的质量②发现软件的错误③找出软件中的所有错误④证明软件是正确的B. ①随机地选取测试数据②取一切可能的输入数据作为测试数据③在完成编码以后制定软件的测试计划④选择发现错误的可能性大的数据作为测试数据C. ①程序的内部逻辑②程序的复杂程度③使用说明书④程序的功能D. ①该软件的设计人员②程序的复杂程度③源程序④项目开发计划E. ①该软件的设计人员②该软件开发组的负责人③该软件的编程人员④不属于该软件开发组的软件设计人员2. 请从供选择的答案中选出应填入下列〔〕中的字句.程序的三种基本控制结构是〔 A 〕.它们的共同点是〔 B 〕.结构化程序设计的一种基本方法是〔 C 〕.软件测试的目的是〔 D 〕.软件调试的目的是〔 E 〕.供选择的答案:A. ①过程,子程序,分程序②顺序,条件,循环③递归,堆栈,队列④调用,返回,转移B. ①不能嵌套使用②只能用来写简单的程序③已经用硬件实现④只有一个入口和一个出口C. ①筛选法②递归法③归纳法④逐步求精法D. ①证明程序中没有错误②发现程序中的错误③测量程序的动态特性④检查程序中的语法错误E. ①找出错误所在并改正之②排除存在错误的可能性③对错误性质进行分类④统计出错的次数3. 从下列关于软件测试的叙述中,选出5条正确的叙述.<1> 用黑盒法测试时,测试用例是根据程序内部逻辑设计的.<2> 尽量用公共过程或子程序去代替重复的代码段.<3> 测试是为了验证该软件已正确地实现了用户的要求.<4> 对于连锁型分支结构,若有n个判定语句,则有2n条路径.<5> 尽量采用复合的条件测试,以避免嵌套的分支结构.<6> GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁.<7> 发现错误多的程序模块,残留在模块中的错误也多.<8> 黑盒测试方法中最有效的是因果图法.<9> 在做程序的单元测试时,桩〔存根〕模块比驱动模块容易编写.<10> 程序效率的提高主要应通过选择高效的算法来实现.4. 从供选择的答案中选出同下列关于软件测试的各条叙述关系最密切的字句.<1> 对可靠性要求很高的软件,例如操作系统,由第三者对源代码进行逐行检查.<2> 已有的软件被改版时,由于受到变更的影响,改版前正常的功能可能发生异常,性能也可能下降.因此,对变更的软件进行测试是必要的.<3> 在意识到被测试模块的内部结构或算法的情况下进行测试.<4> 为了确认用户的需求,先做出系统的主要部分,提交给用户试用.<5> 在测试具有层次结构的大型软件时,有一种方法是从上层模块开始,由上到下进行测试.此时,有必要用一些模块替代尚未测试过的下层模块.供选择的答案:A ~ E:①仿真器②代码审查③模拟器④桩模块⑤驱动器⑥域测试⑦黑盒测试⑧原型⑨白盒测试⑩退化测试5. 从供选择的答案中选出应填入下面有关软件测试的叙述的〔〕内的正确答案.软件测试方法可分为黑盒测试法和白盒测试法两种.黑盒测试法是通过分析程序的〔 A 〕来设计测试用例的方法.除了测试程序外,它还适用于对〔 B 〕阶段的软件文档进行测试.白盒测试法是根据程序的〔 C 〕来设计测试用例的方法.除了测试程序外,它也适用于对〔 D 〕阶段的软件文档进行测试.白盒法测试程序时常按照给定的覆盖条件选取测试用例.〔 E 〕覆盖比〔 F 〕覆盖严格,它使得每一个判定的每一条分支至少经历一次.〔 G 〕覆盖既是判定覆盖,又是条件覆盖,但它并不保证使各种条件都能取到所有可能的值.〔 H 〕覆盖比其他条件都要严格,但它不能保证覆盖程序中的每一条路径.单元测试一般以〔 I 〕为主,测试的依据是〔 J 〕.供选择的答案:A, C:①应用X围②内部逻辑③功能④输入数据B, D:①编码②软件详细设计③软件总体设计④需求分析E, F, G, H:①语句②判定③条件④判定/条件⑤多重条件⑥路径I:①白盒法②黑盒法J:①模块功能规格说明②系统模块结构图③系统需求规格说明6. 从供选择的答案中选出应该填入下列关于软件测试的叙述的< >内的正确答案.软件测试中常用的静态分析方法是〔 A 〕和〔 B 〕.〔 B 〕用于检查模块或子程序间的调用是否正确.分析方法〔白盒方法〕中常用的方法是〔 C 〕方法.非分析方法〔黑盒方法〕中常用的方法是〔 D 〕方法和〔 E 〕方法.〔 E 〕方法根据输出对输入的依赖关系设计测试用例.供选择的答案:A ~ B:①引用分析②算法分析③可靠性分析④效率分析⑤接口分析⑥操作分析C ~ E:①路径测试②等价类③因果图④归纳测试⑤综合测试⑥追踪⑦深度优先⑧调试⑨相对图二、简答题1.编程时使用的程序设计语言,对软件的开发与维护有何影响?2.如果一个程序有两个输入数据,每个输入都是一个32位的二进制整数,那么这个程序有多少个可能的输入?如果每微妙可进行一次测试,那么对所有可能的输入进行测试需要多长时间?3.假设有一个由5000行FORTRAN语句构成的程序〔经编译后大约有25000条机器指令〕,你估计在对它进行测试期间将发现多少个错误?为什么?4.设计下列伪码程序的语句覆盖和路径覆盖测试用例:STARTINPUT<A,B,C>IF A>5THEN X=10ELSE X=1END IFIF B>10THEN Y=20ELSE Y=2END IFIF C>15THEN Z=30ELSE Z=3END IFPRINT<A,B,C>STOP5.设计下列伪码程序的分支覆盖和条件组合覆盖测试用例:STARTINPUT<A,B,C,D>IF <A>0> AND <B>0>THEN X=A+BELSE X=A-BENDIF <C>A> OR <DTHEN Y=C-DELSE Y=C+DENDPRINT<X,Y>STOP6.使用基本路径测试方法,设计测试下面列出的伪码程序的测试用例:1:STARTINPUT<A,B,C,D>2:IF <A>0>3: AND <B>0>4:THEN X=A+B5:ELSE X=A-B6:END7:IF <C>A>8: OR <D9:THEN Y=C-D10:ELSE Y=C+D11:END12:PRINT<X,Y>STOP7.设计测试下列函数的测试方案:、函数SEARCH〔somearray,size,value〕的功能是,在一组整数数组somearray中搜索一个值为value的整数,如果数组中有这个数,则函数值等于该数的下标,否则函数值等于-1.数组的长度由参数size指定.假定数组第一个元素的下标为1.8.一个折半查找程序可搜索按字母顺序排列的名字列表,如果查找的名字在列表中则返回真,否则返回假.为了对它进行功能测试,应该使用哪些测试用例?9.某图书馆有一个使用CRT终端的信息检索系统,该系统有下列四个基本检索命令,如表4.1所示.表4.1 检索命令要求:〔1〕设计测试数据以全面测试系统的正常操作;〔2〕设计测试数据以测试系统的非正常操作.10.航空公司A向软件公司B订购了一个规划飞行路线的程序.假设你是软件公司C的软件工程师.A公司已雇用你所在的公司对上述程序进行验收测试.你的任务是,根据下述事实设计验收测试的输入数据.领航员向程序输入出发地点和目的地,以与根据天气和飞行型号而初步确定的飞行高度.程序读入途中的风向风力等数据,并且制定出三套飞行计划〔高度,速度,方向与途中的五个位置校核点〕.所制定的飞行计划应该做到燃料消耗和飞行时间都最少.11.对一个包含10000条机器指令的程序进行一个月集成测试后,总共改正了15个错误,此时MTTF=10h;经过两个月测试后,总共改正了25个错误〔第二个月改正了10个错误〕,MTTF=15h.要求:<1>根据上述数据确定MTTF与测试时间之间的函数关系,画出MTTF与测试时间t的关系曲线.在画这条曲线时你做了什么假设?<2>为做到MTTF=100h,必须进行多长时间的集成测试?当集成测试结束时总共改正了多少个错误,还有多少个错误潜伏在程序中?12.在测试一个长度为48000条指令的程序时,第一个月由甲、乙两名测试员各种独立测试这个程序.经一个月测试后,甲发现并改正了20个错误,使MTTF达到8h.与此同时,乙发现24个错误,其中的6个甲也发现了.以后由甲一个人继续测试这个程序.问:<1>刚开始测试时程序中总共有多少潜藏的错误?<2>为使MTTF达到240h,必须再改正多少个错误?第四章习题解答一、选择题1. A. ② B. ④ C. ① D. ④ E. ④软件测试的目的是软件中的错误.因为不可能把所有可能的输入数据都拿来测试〔时间花费不起〕,为了提高测试的效率,应该选择发现错误的可能性大的数据作为测试数据.使用白盒测试方法时,确定测试数据应根据程序的内部逻辑和指定的覆盖标准,可以不考虑程序的功能.与设计测试数据无关的文档是项目开发计划.软件的集成测试工作最好由不属于该软件开发组的软件设计人员承担,以提高集成测试的效果.2. A. ② B. ④ C. ④ D. ② E. ①1966年,Bohm与Jacopini提出任何单入口单出口的没有"死循环〞的程序都能由三种最基本的控制结构构造出来.这三种基本控制结构就是"顺序结构〞、"选择IF-THEN-ELSE 结构〞、"重复DO-WHILE或DO-UNTIL结构〞. 它们的共同点是只有一个入口和一个出口.E.W.Dijkstra提出了程序要实现结构化的主X,并将这一类程序设计称为结构化程序设计.这种方法的一个重要原则就是采用自顶向下、逐步求精的方法编写程序.N.Wirth曾做过如下说明:"我们对付一个复杂问题的最重要的方法就是抽象. 因此,对于一个复杂的问题,不要急于马上用计算机指令、数字和逻辑符号来表示它,而应当先用较自然的抽象的语句来表示,从而得到抽象的程序.抽象程序对抽象的数据类型进行某些特定的运算,并用一些合适的记号〔可以是自然语言〕来表示.下一步对抽象程序再做分解,进入下一个抽象的层次.这样的细化过程一直进行下去,直到程序能被计算机接受为止.此时的程序已经是用某种高级语言或机器指令书写的了.〞软件调试则是在进行了成功的测试之后才开始的工作.它与软件测试不同,软件测试的目的是尽可能多地发现软件中的错误,但进一步诊断和改正程序中潜在的错误,则是调试的任务.调试活动由两部分组成:①确定程序中可疑错误的确切性质和位置.②对程序〔设计,编码〕进行修改,排除这个错误.3. 正确的叙述有<4>、<5>、<6>、<7>、〔10〕.黑盒测试主要是根据程序的有关功能规格说明和覆盖准则来设计测试用例,进行测试的,不是根据程序的内部逻辑来设计测试用例,这是白盒测试做的事情.在所有黑盒测试方法中,最有效的不是因果图法,而是边界值分析方法.测试的目的是尽可能多地发现软件中的错误,其附带的收获才是验证该软件已正确地实现了用户的要求.测试的一条重要原则是:发现错误多的程序模块,残留在模块中的错误也多.软件可靠性模型〔Shooman〕就是依据这个原则建立它的公式的.对于连锁型分支结构,若有n个判定语句,则有2n条路径.因此,随着n的增大,路径数增长非常快.单元测试时,因为桩模块要模拟子模块的功能,这不是一件容易的事情,而驱动模块只是控制被测模块的执行,所以桩模块的编写比驱动模块的编写要难得多.在程序设计风格方面,如果重复的代码段没有明显的功能,不可以抽取出来形成独立的公共过程或子程序,只有在这些代码段表现出独立的功能时,才可把它们抽取出来形成独立的公共过程或子程序.另外,程序效率的提高主要应通过选择高效的算法或使用高效的语言编译器来实现.GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁,这句话是正确的.4. <1> ② <2> ⑩ <3> ⑨ <4> ⑧ <5> ④<1> 对可靠性要求很高的软件,由第三者对源代码进行逐行检查,这是代码审查.<2> 软件变更时可能发生退化现象:原来正常的功能可能发生异常,性能也可能下降.因此,对变更的软件要进行退化测试.<3> 基于被测试模块的内部结构或算法设计测试用例进行测试,这是白盒测试.<4> 为了确认用户的需求,先做出系统的原型,提交给用户试用.<5> 自顶向下对具有层次结构的大型软件进行集成测试时,需要设计一些虚拟模块来替代尚未测试过的下层模块,这些模块叫做桩模块.5. A. ③ B. ④ C. ② D. ② E. ② F. ① G. ④ H. ⑤I.① J. ①软件测试方法可分为黑盒测试法和白盒测试法两种.黑盒测试法是基于程序的功能来设计测试用例的方法.除了测试程序外,它还适用于对需求分析阶段的软件文档进行测试.白盒测试法是根据程序的内部逻辑来设计测试用例的方法.除了测试程序外,它也适用于对软件详细设计阶段的软件文档进行测试.白盒法测试程序时常按照给定的覆盖条件选取测试用例.判定覆盖比语句覆盖严格,它使得每一个判定的每一条分支至少经历一次.判定/条件覆盖既是判定覆盖,又是条件覆盖,但它并不保证使各种条件都能取到所有可能的值.多重条件覆盖,也叫组合条件覆盖,比其他条件都要严格,但它不能保证覆盖程序中的每一条路径.单元测试一般以白盒法为主,测试的依据是系统的模块功能规格说明.6. A. ① B. ⑤ C. ① D. ② E. ③软件测试中常用的静态分析方法是引用分析和接口分析.接口分析用于检查模块或子程序间的调用是否正确.分析方法〔白盒方法〕中常用的方法是路径测试方法.非分析方法〔黑盒方法〕中常用的方法是等价类〔划分〕方法和因果图方法.因果图方法根据输出对输入的依赖关系设计测试用例.二、简答题1.答:程序设计语言是人用计算机解决问题的基本工具,因此,它将影响软件开发人员的思维方式和解题方式.程序设计语言是表达具体的解题方法的工具,它的语法是否清晰易懂,阅读程序时是否容易产生二义性,都对程序的可读性和可理解性有较大影响.程序设计语言所提供的模块化机制是否完善,编译程序差错能力的强弱等,对程序的可靠性有明显影响.程序设计语言实现设计结果的难易程度,是否提供了良好的独立编译机制,可利用的软件开发工具是否丰富而且有效,都对软件的开发效率有影响.编译程序优化能力的强弱,程序设计语言直接操纵硬件设施的能力等,将明显地影响程序的运行效率.程序设计语言的标准化程度,所提供的模块封装机制,源程序的可读性和可理解性等,将影响软件的可维护性.2.答:每个32位的二进制整数具有232个可能的值,因此,具有两个整数输入的程序应该具有264个可能的输入.每微妙可进行一次测试,即每秒可进行106个测试,因此,每天可进行的测试数为60*60*24*106=8.64*1010这等于每年大约可进行3.139*1013个测试.因为210=1024≈103 ,所以264=〔210 〕6.4≈1019.2.1019.2/〔3.139*1013〕>105,所以做完全部测试将至少需要105年〔即10万年〕.3.答:经验表明,在类似的程序中,单位长度里的错误数ET/IT近似为常数.美国的一些统计数字告诉我们,通常0.5*10-2≤ET/IT≤2*10-2也就是说,在测试之前每1000条指令中大约有5~20个错误.假设在该程序的每1000条指令中有10个错误,则估计在对它进行测试期间将发现的错误数为25000*〔10/1000〕=2504.答:<1>语句覆盖的测试用例因为每个判定表达式为真或为假时均有赋值语句,为了使每个语句都至少执行一次,总共需要两组测试数据,以便使得每个判定表达式取值为真或为假各一次.下面是实现语句覆盖的典型测试用例:1〕使3个判定表达式之值全为假输入:A=1, B=1, C=1预期的输出:X=1, Y=2,Z=32〕使3个判定表达式之值全为真输入:A=20, B=40, C=60预期的输出:X=10, Y=20,Z=30<2>路径覆盖的测试用例本程序共有8条可能的执行通路,为做到路径覆盖总共需要8组测试数据.下面是实现路径覆盖的典型测试用例:1〕3个判定表达式之值全为假输入:A=1, B=1, C=1预期的输出:X=1, Y=2, Z=32〕3个判定表达式依此为假、假、真输入:A=1, B=1, C=60预期的输出:X=1, Y=2, Z=303〕3个判定表达式依此为假、真、假输入:A=1, B=40, C=1预期的输出:X=1, Y=20, Z=34〕3个判定表达式依此为假、真、真输入:A=1, B=40, C=60预期的输出:X=1, Y=20, Z=305〕3个判定表达式依此为真、假、假输入:A=20, B=1, C=1预期的输出:X=10, Y=2, Z=36〕3个判定表达式依此为真、假、真输入:A=20, B=1, C=60预期的输出:X=10, Y=2, Z=307〕3个判定表达式依此为真、真、假输入:A=20, B=40, C=1预期的输出:X=10, Y=20, Z=38〕3个判定表达式全为真输入:A=20, B=40, C=60预期的输出:X=10, Y=20, Z=305.答:<1>分支覆盖〔即判定覆盖〕标准为,不仅使每个语句至少执行一次,而且使每个判定表达式的每个分支都至少一次.为做到分支覆盖,至少需要两组测试数据,以使每个判定表达式之值为真或为假各一次.下面是典型的测试用例:1〕使两个判定表达式之值全为假输入:A=-1, B=-2, C=-3,D=1预期的输出:X=1, Y=-22〕使两个判定表达式之值全为真输入:A=1, B=2, C=3,D=1预期的输出:X=3, Y=2<2>条件组合覆盖标准为,使得每个判定表达式中条件的各种可能组合都至少出现一次.本题程序中共有两个判定表达式,每个判定表达式中有两个简单条件,因此,总共有8种可能的条件组合,它们是:1〕A>0,B>02〕A>0,B≤03〕A≤0,B>04〕A≤0,B≤05〕C>A,D6〕C>A,D≥B7〕C≤A,D8〕C≤A,D≥B下面的4个测试用例,可以使上面列出的8种条件组合每种至少出现一次:1〕实现1,5两种条件组合输入:A=1, B=1, C=2,D=0预期的输出:X=2, Y=22〕实现2,6两种条件组合输入:A=1, B=0, C=2,D=1预期的输出:X=1, Y=13〕实现3,7两种条件组合输入:A=0, B=1, C=-1,D=0预期的输出:X=-1, Y=-14〕实现4,8两种条件组合输入:A=0, B=0, C=-1,D=1预期的输出:X=0, Y=06.答:用基本路径测试方法设计测试用例的过程,有下述4个步骤:<1>根据过程设计的结果画出流图与本题给出的伪码程序相对应的流图如图4.1所示.<2>计算流图的环形复杂度使用下述3种方法中的任一种都可以算出图4.1所示流图的复杂度为5. 1〕该流图共有15条边,12个结点,所以环形复杂度为15-12+2=52〕该流图共有5个区域,因此环形复杂度为5.3〕该流图中共有4个判定结点,因此环形复杂度为4+1=5〔3〕确定线性独立路径的基本集合所谓线性独立路径是指至少引入程序的一个新语句集合或一个新条件的路径,用流图术语来描述,独立路径至少包含一条在定义该路径之前不曾用过的边.使用基本路径测试法设计测试用例时,程序的环形复杂度决定了程序中独立路径的数量,而且这个数值是确保程序中所以语句至少被执行一次所需的测试数量的上界.对于图4.1所示流图来说,由于它的环形复杂度为5,因此共有5条独立路径.下面列出了5条独立路径:路径1:1-2-3-4-6-7-9-11-12路径2:1-2-5-6-7-9-11-12路径3:1-2-3-5-6-7-9-11-12路径4:1-2-3-4-6-7-8-9-11-12路径5:1-2-3-4-6-7-8-10-11-12图4.1 与第6题伪码程序对应的流图<4>设计可强制执行基本路径集合中每条路径的测试用例1〕执行路径1〔两个判定表达式全为真〕输入:A=1, B=1, C=2,D=2〔任意〕预期的输出:X=2, Y=02〕执行路径2〔第一个判定表达式为假,第二个判定表达式为真〕输入:A=0, B=1〔任意〕, C=2,D=0〔任意〕预期的输出:X=-1, Y=23〕执行路径3〔第一个判定表达式为假,第二个判定表达式为真〕输入:A=1, B=0, C=2,D=0〔任意〕预期的输出:X=1, Y=24〕执行路径4〔两个判定表达式全为真〕输入:A=1, B=1, C=0,D=-1预期的输出:X=2, Y=15〕执行路径5〔第一个判定表达式为真,第二个判定表达式为假〕输入:A=1, B=1, C=0,D=2预期的输出:X=2, Y=27.答:题中并没有给出实现函数SEARCH的算法,仅仅描述了它的功能,因此,只能用黑盒测试技术设计测试它的测试方案.为了用等价划分法设计测试用例,首先需要划分输入数据的等价类.根据该函数的功能,可以把它的输入数据划分成以下等价类:〔1〕有效输入的等价类●数组有偶数个元素,第1个元素是所要找的数.●数组有偶数个元素,最后一个元素是所要找的数.●数组有偶数个元素,数组中没有所要找的数.●数组有奇数个元素,第1个元素是所要找的数.●数组有奇数个元素,最后一个元素是所要找的数.●数组有奇数个元素,数组中没有所要找的数.●数组有多个元素,其中一个正整数是所要找的数.●数组有多个元素,其中一个负整数是所要找的数.●数组有多个元素,其中一个0是所要找的数.〔2〕无效输入的等价类数组实际长度不等于变元size的值.为了使用边界值分析法设计测试方案,应该再考虑下述几种边界情况:●数组长度为1,其元素是所要找的数.●数组长度为1,其元素不是所要找的数.●数组为空〔长度为0〕.根据上面划分出的等价类与边界情况,可以设计出下述测试方案:1〕数组长度为1,其正整数元素是所要找的数输入:somearray={6},size=1,value=6预期的输出:12〕数组长度为1,其负整数元素是所要找的数输入:somearray={-20},size=1,value=-20预期的输出:13〕数组长度为1,其元素0是所要找的数输入:somearray={0,size=1,value=0预期的输出:14〕数组长度为1,其元素不是所要找的数输入:somearray={6},size=1,value=8预期的输出:-15〕数组为空输入:somearray={ },size=0,value=6预期的输出:-16〕数组有偶数个元素,第1个元素是正整数且是所要找的数输入:somearray={1,2,3,4},size=4,value=1预期的输出:17〕数组有偶数个元素,最后一个元素是负整数且是所要找的数输入:somearray={1,2,3,-4},size=4,value=-4预期的输出:48〕数组有偶数个元素,其中一个元素0是所要找的数输入:somearray={1,2,0,3},size=4,value=0预期的输出:39〕数组有偶数个元素,元素中没有所要找的数输入:somearray={1,2,3,4},size=4,value=5预期的输出:-110〕数组有奇数个元素,第1个元素是0且是要找的数输入:somearray={0,1,2},size=3,value=0预期的输出:111〕数组有奇数个元素,最后一个元素是负整数且是所要找的数输入:somearray={1,2,-3},size=3,value=-3预期的输出:312〕数组有奇数个元素,没有要找的数输入:somearray={1,2,3},size=3,value=-3预期的输出:-113〕数组实际长度不等于size输入:somearray={1,2,3},size=3,value=1预期的输出:"无效的size值〞8.答:为了对这个折半查找程序进行功能测试,应该使用下述测试用例:1〕查找列表中第一个名字预期的输出:TRUE2〕查找列表中最后一个名字预期的输出:TRUE3〕查找第一个名字后的名字预期的输出:TRUE4〕查找最后一个名字前的名字预期的输出:TRUE5〕查找位于列表中间的一个名字预期的输出:TRUE6〕查找不在列表中但按字母顺序恰好在第一个名字后的名字预期的输出:FALSE7〕查找不在列表中但按字母顺序恰好在最后一个名字前的名字预期的输出:FALSE9.答:<1>测试系统正常操作的测试数据1〕顺序执行下列3个命令:b〔KEYWORD〕s <L>d <N>其中,KEYWORD是正确的关键字;L是执行命令b后在屏幕上显示的约20个行号中的一个〔至少应该使L分别为第一个、最后一个和中央一个行号〕;N是执行命令s后列出的索引号中的一个〔至少应该使N分别为第一个、最后一个和中央一个索引号〕.针对若干个不同的KEYWORD重复执行上述命令序列.2〕顺序执行下列2个命令:f <NAME>d <N>其中,NAME是已知的作者##;N是执行命令f后列出的索引号中的一个〔至少应该使N 分别为第一个、最后一个和中央一个索引号〕.针对若干个不同的NAME重复执行上述命令序列.<2>测试系统非正常操作的测试数据1〕用过长的关键字作为命令b的参数,例如,b〔reliability software and hardware combined〕预期的输出:系统截短过长的关键字,例如,上列命令中的关键字可能被截短为reliability software2〕用不正确的关键字作为命令b的参数,例如,b〔AARDVARK〕预期的输出:显示出最接近的匹配结果,例如,执行上列命令后可能显示1. AARON,JULES<book>3〕用比执行命令b后列出的最大行号大1的数作为命令s的参数预期的输出:"命令s的参数不在行号列表中〞4〕用数字和标点符号作为命令b和命令f的参数预期的输出:"参数类型错〞5〕用字母符号作为命令s和命令d的参数预期的输出:"参数数值错〞6〕用0和负数作为命令s和命令d的参数预期的输出:"参数数值错〞7〕命令顺序错,例如,没执行命令b就执行命令s,或没执行命令s就执行命令d。
流程控制异常和断言有关断言的题不用做Document number:BGCG-0857-BTDO-0089-2022内容概要练习流程控制 (if 和 switch)1. 给出以下代码:1. public class Switch2 {2. final static short x = 2;3. public static int y = 0;4. public static void main(String [] args) {5. for (int z=0; z < 3; z++) {6. switch (z) {7. case y: "0 ");8. case x-1: "1 ");9. case x: "2 ");10. }11. }12. }13. }哪一项是运行结果A. 0 1 2B. 0 1 2 1 2 2C. 在第7行编译失败。
D. 在第8行编译失败。
E. 在第9行编译失败。
F. 运行时抛出异常。
2. 给出下面的代码:1. public class Switch2 {2. final static short x = 2;3. public static int y = 0;4. public static void main(String [] args) {5. for (int z=0; z < 3; z++) {6. switch (z) {7. case x: "0 ");8. case x-1: "1 ");9. case x-2: "2 ");10. }11. }12. }13. }哪一项是运行结果 (1)A. 0 1 2B. 0 1 2 1 2 2C. 2 1 0 1 0 0D. 2 1 2 0 1 2E. 在第8行编译失败。
F. 在第9行编译失败。
3. 给出下面的代码:1. public class If1 {2. static boolean b;3. public static void main(String [] args) {4. short hand = 42;5. if ( hand < 50 & !b ) hand++;6. if ( hand > 50 ) ;7. else if ( hand > 40 ) {8. hand += 7;9. hand++; }10. else11. --hand;12.13. }14. }哪一项是运行结果A. 41B. 42C. 50D. 51E. 在第5行编译失败。
F. 在第6行编译失败。
4. Given the following,1. public class Switch2 {2. final static short x = 2;3. public static int y = 0;4. public static void main(String [] args) {5. for (int z=0; z < 4; z++) {6. switch (z) {7. case x: "0 ");8. default: "def ");9. case x-1: "1 "); break;10. case x-2: "2 ");11. }12. }13. }14. }what is the resultA. 0 def 1B. 2 1 0 def 1C. 2 1 0 def defD. 2 1 def 0 def 1E. 2 1 2 0 def 1 2F. 2 1 0 def 1 def 15. 给出以下代码:1. public class If2 {2. static boolean b1, b2;3. public static void main(String [] args) {4. int x = 0;5. if ( !b1 ) {6. if ( !b2 ) {7. b1 = true;8. x++;9. if ( 5 > 6 ) {10. x++;11. }12. if ( !b1 ) x = x + 10;13. else if ( b2 = true ) x = x + 100;14. else if ( b1 | b2 ) x = x + 1000;15. }16. }17.18. }19. }哪一项是运行结果A. 0B. 1C. 101D. 111E. 1001F. 1101流程控制(循环)6. 给出下面的代码:1. public class While {2. public void loop() {3. int x= 0;4. while ( 1 ) {5. "x plus one is " + (x + 1));6. }7. }8. }哪一项是正确的A. 在第1行有一个语法错误。
B. 在第1行和第4行有一个语法错误。
C. 在第1行、第4行和第5行有一个语法错误。
D. 在第4行有一个语法错误。
E. 在第4行和第5行有一个语法错误。
F. 在第5行有一个语法错误。
7. 给出下面的代码:1. class For {2. public void test() {3.4. "x = "+ x);5. }6. }7. }and the following output,x = 0x = 1哪两行语句独立地插入到第3行能够产生输出A. for (int x = -1; x < 2; ++x) {B. for (int x = 1; x < 3; ++x ) {C. for (int x = 0; x > 2; ++x ) {D. for (int x = 0; x < 2; x++ ) {E. for (int x = 0; x < 2; ++x ) {8. 给出以下代码:1. public class Test {2. public static void main(String [] args) {3. int I = 1;4. do while ( I < 1 )5. "I is " + I);6. while ( I > 1 ) ;7. }8. }哪一项是运行结果A. I is 1B. I is 1 I is 1C. 没有输出。
D. 编译错误。
E. I is 1 I is 1 I is 1 in an infinite loop.9. 给出下面的代码:11. int I = 0;12. outer:13. while (true) {14. I++;15. inner:16. for (int j = 0; j < 10; j++) {17. I += j;18. if (j == 3)19. continue inner;20. break outer;21. }22. continue outer;23. }24.25.26.哪一项是运行结果(1)A. 1B. 2C. 3D. 410. 给出下面的代码:1. int I = 0;2. label:3. if (I < 2) {4. "I is " + I);5. I++;6. continue label;7. }哪一项是运行的结果A. I is 0B. I is 0 I is 1C. 编译错误。
D.以上都不对。
异常11. 给出下面的代码:1. "Start ");2. try {3. "Hello world");4. throw new FileNotFoundException();5. try {6. out = new FileOutputStream("");7. (122);8. }9. catch(IOException io) {10. "IO Error.");11. }12. finally {13. ();14. }15. }16. }下面哪一项是正确的A. 程序将成功编译。
B. 第4行有一个错误。
C. 第6行有一个错误。
D. 第9行有一个错误。
E. 第13行有一个错误。
14. 给出下面的代码:1. public class MyProgram {2. public static void throwit() {3. throw new RuntimeException();4. }5. public static void main(String args[]){6. try {7. "Hello world ");8. throwit();9. "Done with try block ");10. }11. finally {12. "Finally executing ");13. }14. }15. }哪一项是正确的(1)A. 程序不能编译。
B. 程序将输出:Hello world, 然后将输出:a RuntimeException hasoccurred, 然后将输出:Done with try block, 最后将输出:Finally executing。
C. 程序将输出:Hello world, 然后将输出:a RuntimeException hasoccurred,最后将输出:Finally executing。
D. 程序将输出:Hello world, 然后将输出:Finally executing, 最后将输出:a RuntimeException has occurred。
15. 给出下面的代码:1. public class RTExcept {2. public static void throwit () {3. "throwit ");4. throw new RuntimeException();5. }6. public static void main(String [] args) {7. try {8. "hello ");9. throwit();10. }11. catch (Exception re ) {12. "caught ");13. }14. finally {15. "finally ");16. }17. "after ");18. }19. }哪一项是运行结果A. hello throwit caughtB. 编译失败。