(19)D【解析】本题考察构造函数的定义和使用。构造函数可以重载,故不可能只有一个。
(20)B【解析】本题考察析构函数的定义和使用,析构函数不能有形参.也没有返回值,故正确答案应 为B。
(21)D【解析】静态成员变量的引入是为了解决同一类的不同对象间数据共享的需要。因此,类的静 态数据成员在定义时不能赋初值,只能在类外赋初值.此外要注意赋值时要用类名进行限制。
(22)B【解析】按照程序的执行顺序,考生可以很快得出正确答案为B。
(23)B【解析】本题思路巧妙.分析时可以发现b=(a+b)一b,则此时b中放的是a,完成交换工作的 一半。然后要将b放到a中,将表达式展开,则为a=(a十b)一a.此时正好把b放到a中。此时完 成全部的交换。
(24)C【解析】本题主要考察条件语句的运行规则.考生按照逻辑顺序分析可知正确答案为C。
(25)c【解析】本题考察的是if...clse语句中的配对原则:与最近的配对.故当a
(26)A【解析】注意本题有个陷阱,马虎的考生将纷纷落马。本来while中的表达式应为k=-1,而 本题却为k=1,是赋值表达式而不是逻辑表达式。因此,编译器将其值一直认为是l,因此表达式 一直为真,陷人无限次的循环。
(27)B【解析】本题考察的是循环次数的判定。有while后的逻辑表达式可知,整个循环体需要执行 3次,故可直接选定正确答案为B。
(28)C【解析】本题考察在C++语言中,字符串的存放规则。即字符串存放在字符数组中,而且在 字符的后面自动插入标识字符串结束的标识符’\O’.因此,共6个字符,每个字符占用一个字节,故正 确答案为C。
(29)D【解析】本题考察的是同名局部变量和全局变量的作用域之间的关系。同时考察了静态变量 的特点:退出函数和进入函数并不影响静态变量的值。因此.循环多次.实际上完成静态变量的累 加。即1+2+3+4+5.其值为15,故答案为D。
(30)A【解析】本题考察对二维数组的使用。只要按照要求细心分析各个数组元素的位置,即可以 正确的得到答案为A。
(31)A【解析】本题采用递归函数的方式将数组中的元素进行倒置,只要能够看出函数fun的功能, 即可以得出正确答案为A。
(32)D【解析】分析可知本题中while循环体的功能是将数组中元素值为奇数的项目累加,在遇到第 一个元素值为偶数时停止累加。因此,观察数组中各元素值可知14之前的奇数相加是11+13,故 答案为D。
(33)A【解析】本题考察continue语句在while循环中的使用:直接跳转到条件判断表达式位置.不 再执行continue后面的语句。另外.根据分析可知,本题循环体的功能是将O,2,4,6位元素加一后 累加,故结果应是1+3+5+7,因此正确答案为A。
(34)A【解析】本题主要考察setfill的用法。只用在设置了宽度的情况下,字符填充操作setfill才有 意义。另外要注意的是设置宽度setw是所有格式中惟一一个一次有效的设置。
(35)C【解析】本题看似复杂。其实掌握技巧的话可以很容易的得出正确答案为C。按照常识,一个 文件关闭后,应该可以再打开另外一个文件。
二、填空题
(1)【l】n【解析】对具有n个结点的线性表进行顺序查找,最坏情况下需要比较n次。
(2)【2】TZBACYXP【解析】按照二叉树中序遍历的方法:在访问根结点、遍历左子树与遍历右子树 这三者中,首先遍历左子树.然后访问根结点,最后遍历右子树;并且。在遍历左、右子树时。仍然先遍 历左子树,然后访问根结点,最后遍历右子树。对本题中的二叉树进行中序遍历的结果应是TZBA— CYXP。
(3)【3】消息【解析】在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求 称为消息。
(4)【4】动态分析【解析】程序的测试方法分为静态分析和动态分析。使用测试用例在计算机上运行 程序,使程序在运行过程中暴露错误,这种方法称为动态分析。