单选题 已知3个类O、P和Q,类O中定义了一个私有方法F1、一个公有方法F2和一个受保护的方法F3;类P和类Q是类O的派生类,其继承方式如下所示。
class P: protected O {…};
class Q: publie O {…);
关于方法F1的描述中正确的是______;关于方法F2的描述中正确的是______;关于方法F3的描述中正确的是______。
单选题
  • A.方法F1无法被访问
  • B.只有在类O内才能访问方法F1
  • C.只有在类P内才能访问方法F1
  • D.只有在类Q内才能访问方法F1
【正确答案】 B
【答案解析】
单选题
  • A.类O、P和Q的对象都可以访问方法F2
  • B.类P和Q的对象都可以访问方法F2
  • C.类O和Q的对象都可以访问方法F2
  • D.只有在类P内才能访问方法F2
【正确答案】 C
【答案解析】
单选题
  • A.类O、P和Q的对象都可以访问方法F3
  • B.类O、P和Q的对象都不可以访问方法F3
  • C.类O和Q的对象都可以访问方法F3,但类p的对象不能访问方法F3
  • D.类P和Q的对象都可以访问方法F3,但类Q的对象不能访问方法F3
【正确答案】 B
【答案解析】[解析] 解答此类试题的一般思路是掌握类的各种继承方式及它们的访问权限。
面向对象技术解决软件复用的途径之一是采用继承机制。在继承关系中存在着基类和派生类两种类型,访问控制方式主要有public(公有派生)、protected(保护派生)和private(私有派生)。基类中成员的访问权限在派生类中的继承关系如表所示。
访问权限的继承关系表
派生性质 在基类中的访问权限 在派生类中的访问权限
Public
(公有派生)
public public
protected protected
private 不可访问
Protected
(保护派生)
public protected
protected protected
private 不可访问
Private
(私有派生)
public private
protected private
private 不可访问
根据试题中相关描述,以及“class P:protected O {…};”和“class Q:public O {…};”语句,结合表7-11的继承关系可知,类P、Q的成员函数及其访问控制如下表所示。
类P、Q的成员函数及其访问控制表
类名 成员函数 访问控制 类名 成员函数 访问控制
P F1 prirate Q F1 private
F2 protected F2 public
F3 protected F3 protected
由试题的关键信息“类O中定义了一个私有方法F1”可知,方法F1是基类O的private(私有)成员。同时通过表7-12可知,类P、Q继承了F1方法,但其访问权限是private,结合表7-11最后一行的继承关系可得,只有基类O的内部成员才能访问方法F1,而派生类P、Q的内部成员是不可访问方法F1的。因此第一空缺处的正确答案是选项B。
由于方法F2是基类O中定义的一个公有方法,由此可知基类O的对象可以访问方法F2,因此第二空缺处选项D的描述是错误的。
通过表7-12可知,类Q继承了F2方法,其访问权限也是public,因此派生类Q的对象可以访问方法F2。
在表7-12中类P对方法F2的访问权限是protected,结合表7-11第4行的继承关系可得,派生类P的对象是不可访问方法F2的,只有在派生类P的的内部成员才可以访问方法F2。因此空缺处的正确答案是选项C。
同理,由于方法F2是基类O中定义的一个受保护的方法,通过表7-12可知,派生类P、Q对F3方法的访问权限均是protected,结合表7-11第5行的继承关系可得,基类O和派生类P、Q的对象都不能可访问方法F3,只有在类O、P、Q的内部成员才可以访问方法F3。因此问题的正确答案是选项B。
单选题 电子政务根据其服务的对象不同,基本上可以分为4种模式。某市政府在互联网上提供的“机动车违章查询”服务,属于{{U}} {{U}} {{/U}} {{/U}}模式。
  • A.G2C
  • B.G2B
  • C.G2E
  • D.G2G
【正确答案】 A
【答案解析】[解析] 电子政务根据其服务的对象不同,基本上可以分为4种模式,即政府对政府 (Government to Government,G2G)、政府对企业(Government to Business,G2B)、政府对公众(Government to Citizen,G2C)和政府对公务员(Government to Employee,G2E)。 某市政府在互联网上提供的“机动车违章查询”服务,这是政府针对车主或驾驶员提供的服务,属于 G2C模式。
单选题 利用公开密钥算法进行数字签名时,发送方签名用的是{{U}} {{U}} {{/U}} {{/U}}。
  • A.接收方的公开密钥
  • B.发送方的公开密钥
  • C.接收方的秘密密钥
  • D.发送方的秘密密钥
【正确答案】 D
【答案解析】[解析] 数字签名技术可以防止发送方的抵赖和接收方的篡改。公开密钥算法中,2个密钥,一个用于加密另一个用于解密。当向接收方传送加密数据时,用接收方的公钥加密,只有接收方用自己的私钥解密,不怕第三方窃听。用于数据签名时,发送方对自己发出的数据签名,用自己的私钥加密,接收方用发送者的公钥解密。由于发送者用自己的私钥加密,别人不可能伪造加过密的数据,接收方可以解密,但伪造不了未解密的数据。因为发送方只能自己可以生成加密的数据,也不能抵赖不是自己生成的加密数据。
单选题 编译程序对C语言源程序进行语法分析时,可以确定______。
  • A.变量是否定义(或声明)
  • B.变量的值是否正确
  • C.循环语句的执行次数
  • D.循环条件是否正确
【正确答案】 A
【答案解析】本题考查程序语言基础知识。 对C源程序进行编译时,需建立符号表,其作用是记录源程序中各个符号(变量等)的必要信息,以辅助语义的正确性检查和代码生成,在编译过程中需要对符号表进行快速有效地查找、插入、修改和删除等操作。符号表的建立可以始于词法分析阶段,也可以放到语法分析和语义分析阶段,但符号表的使用有时会延续到目标代码的运行阶段。
单选题 在蓝牙技术的应用中,最小的工作单位被称为______。
  • A.域(domain)
  • B.扩展业务集(ESS)
  • C.基本业务集(BSS)
  • D.微微网(Piconet)
【正确答案】 D
【答案解析】在蓝牙技术的应用中,最小的工作单位叫Piconet,是通过蓝牙连接起来的设备的集合。一个Piconet可以只是两台相连的设备,比如一台PDA和一部移动电话,也可以是八台连在一起的设备。
单选题 阅读下列流程图:
当用判定覆盖法进行测试时,至少需要设计______个测试用例。
【正确答案】 B
【答案解析】[解析] 本题考查白盒测试的六大覆盖方法之一——判定覆盖的相关知识。 判定覆盖又称为分支覆盖,它要求设计足够多的测试用例,使得程序中每个判定至少有一次为真值,有一次为假值,即程序中的每个分支至少执行一次。 由图,上层一个条件语句,下层两个条件语句。上层为真或假时,分别对应下层的两个判定也要各为真或假一次,共4次。
单选题 欲动态地给一个对象添加职责,宜采用______模式。 A.适配器(Adapter) B.桥接(Bridge)C.组合(Composite) D.装饰器(Decorator)
【正确答案】 D
【答案解析】[解析] 本题考查设计模式的基本知识。 适配器(Adapter)模式是将类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。Bridge(桥接)模式将对象的抽象和其实现分离,从而可以独立地改变它们。组合(Composite)模式描述了如何构造一个类层次式结构。装饰器(Decorator)模式的意图是动态地给一个对象添加一些额外职责。在需要给某个对象而不是整个类添加一些功能时使用。这种模式对增加功能比生成子类更加灵活。
单选题 两个同符号的数相加或异符号的数相减,所得结果的符号位SF和进位标志CF进行______运算为1时,表示运算的结果产生溢出。
  • A.与
  • B.或
  • C.与非
  • D.异或
【正确答案】 D
【答案解析】[解析] 本题考查两个带符号数的减法。 两个带符号数算术运算的溢出可根据运算结果的符号位SF和进位标志CF判别。该方法适用于两同号数求和或异号数求差时判断溢出。溢出的逻辑表达式为:VF=SF[[*]CF。即SF和CF异或结果为1时表示发生溢出,异或结果为0时则表示没有溢出。
单选题 面向对象程序设计语言的{{U}} {{U}} {{/U}} {{/U}}机制,实现了方法的定义与具体的对象无关,而对方法的调用则可以关联于具体的对象。
  • A.模板
  • B.多态性
  • C.动态绑定
  • D.多重绑定
【正确答案】 C
【答案解析】[解析] 选项A的“模板(template)”是面向对象技术的一种参数化类。 选项B的“多态性”使作用于不同对象的同一个操作可以有不同的解释,从而产生不同的执行结果。 选项C的“动态绑定(dynamic binding)”是面向对象程序设计语言中的一种机制。这种机制实现了方法的定义与具体的对象无关,而对方法的调用则可以关联于具体的对象。 选项D是一个虚构的选项。
单选题 下列排序方法中,排序所花费时间不受数据初始排列特性影响的算法是______。
  • A.直接插入排序
  • B.冒泡排序
  • C.直接选择排序
  • D.快速排序
【正确答案】 D
【答案解析】不同的方法各有优缺点,可根据需要运用到不同的场合。在选取排序算法时需要考虑以下因素:待排序的记录个数n、记录本身的大小、关键字的分布情况、对排序稳定性的要求、语言工具的条件及辅助空间的大小。依据这些因素可得以下结论: ·若待排序的记录数目n较小时,可采用插入排序和选择排序; ·若待排序记录按关键字基本有序,则宜采用直接插入排序或冒泡排序; ·当n很大且关键字的位数较少时,采用链式基数排序较好; ·若n较大,则应采用时间复杂度为O(nlogn)的排序方法——快速排序、堆排序、归并排序。
单选题 当数据分组从低层向高层传送时,分组的头要被{{U}} {{U}} {{/U}} {{/U}}。
  • A.加上
  • B.去掉
  • C.重新处置
  • D.修改
【正确答案】 B
【答案解析】[解析] 当数据分组从低层向高层传送时,分组的头要被去掉,相当于邮件拆包。
单选题 评审是对软件进行静态测试的一种方法,下述结论中,{{U}} {{U}} {{/U}} {{/U}}是与软件评审无关的内容。
  • A.尽量发现错误
  • B.检查软件文档
  • C.根据评审标准
  • D.依靠测试信息
【正确答案】 A
【答案解析】[解析] 软件评审的目的是判断已完成的工作是否满足预期目的,其依据是评审标准,检查软件文档和依靠测试信息是方法。尽量发现错误是软件测试的目标。