[模拟] 计算机二级(C++)笔试37
一、选择题(每小题2分,共70分) 下列各题[A]、[B]、[C]、[D] 四个选项中,只有一个选项是正确的。
第1题:
下面关于成员函数重载运算符和友元函数重载运算符相同的是
A.成员函数和友元函数可重载的运算符是不相同的
B.成员函数和友元函数重载运算符时都需要用到this指针
C.成员函数和友元函数重载运算符时都需要声明为公有的
D.成员函数和友元函数重载运算符时的参数町能是相同的
参考答案:A
答案解析:
:考查C++语言中操作符重载中成员函数重载和友元函数重载的不同。 【解题要点】成员函数和友元函数可重载的运算符有些相同的,有些是不同的,友元函数没有this指针,二者重载相同运算符时的参数肯定是 不同的,成员函数重载运算符时都必须声明为公有的。 【考点链接】友元函数的声明关健字是friend。
第2题:
C++语言是以哪种语言为基础逐渐发展演变而成的一种程序设计语言
A.ASP
B.C
C.VB
D.Java
参考答案:B
答案解析:
:C++语言是对C语言进行了扩充,继承了它的语法,并增加了面向对象的设计方法。
第3题:
NULL是指
A.0
B.空格
C.未知的值或无任何值
D.空字符串
参考答案:C
答案解析:
:此题属于记忆性的题目,NULL是指未知的值或无任何值。
第4题:
已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是
A.堆排序
指向类成员函数的指针B.直接插入排序
C.快速排序
D.直接选择排序
参考答案:B
答案解析:
:当数据表A中每个元素距其最终位置不远,说明数据表A按关键字值基本有序,在待排序序列基本有序 的情况下,采用插入排序所用时间最少,故答案为选项[B]. 。
第5题:
如果表达式++x/y中,++是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可
为
A.(operator++(x) ).operator/(y)
B.(operator++(0) ).operator/(y)
C.operator/( (operator++(x,0) ),y)
D.operator/( (operator++(0) ),y)
参考答案:A
答案解析:
:C++中用成员函数重载++x为:x.operator++(),用友元函数重载++x为:operator++(x),用成员 函数重载x/y为:x.operator/(y),用友元函数重载x/y为:operator/(x,y)。
第6题:
A.输出的是1
B.输出的是1和-2
C.输出的是3和0
D.是死循环
参考答案:B
答案解析:
:do-while语句的一般格式为do循环体语句while(表达式);,先执行循环体语句一次,再判断表达式的值,若为真则继续执行循环,否则终止循环。本题中,先执行x=x-2,即为1。判断表达式的值,!(--x)为 真,x=0,继续循环。再次执行循环体语句后,x=-2,此时表达式的值为0,结束循环。
第7题:
下面的哪个选项不能作为函数的返回类型?
A.void
B.int
C.new
D.long
参考答案:C
答案解析:
:new是动态申请内存空间时使用的关键字,不能作为函数的返回 类型,选项[A].为无返回值,选项(B)为返回整型,选项(D)为返回长整型。NULL
第8题:
A.8 9
B.9 8
C.程序有错误
D.9 9
参考答案:A
答案解析:
:考查交换两整数的方法。 【解题要点】两数只在函数change内被使用,函数调用完后该内存被释 放,因此没有交换两数。 【考点链接】交换两个数的方法简单说有两种一是使用指针,二是用引用。
第9题:
A.121
B.122
C.112
D.222
参考答案:B
答案解析:
:C++语言中全局变量是任何函数都可以改变的量,静态变量的有效范围在定义它的类中,而普通的变 量的有效性只在使用它的函数中,在本题中c为全局变量,b为静态变量,a为普通变量,b和c在类A的对象a1和 a2中都自加1。所以b,c为2,a为1。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论