一、下面有关c++静态数据成员,说法正确的是?
A、不能在类内初始化
B、不能被类的对象调用
C、不能受private修饰符的作用
D、可以直接用类名调用
答案:D
解析:通常静态数据成员在类声明中声明,在包含类方法的文件中初始化。
初始化时使用作用域操作符来指出静态成员所属的类。但如果静态成员是整型或是枚举型const,则可以在类声明中初始化!!
如果改成有的静态数据成员是可以直接在类中初始化就对了 。
二、堆肯定是一棵平衡二叉树()
A、对
B、错
答案: B
解析:堆是一颗完全二叉树,但是完全二叉树不一定是平衡二叉树,因为平衡二叉树是一种特殊的二叉查找树,
完全二叉树不满足二叉查找树的特点。
三、下列关于堆和栈的区别描述错误的有?
A、申请方式的不同,堆是系统自动分配,栈是自己申请
B、栈的大小是固定的,堆的大小受限于系统中有效的虚拟内存
C、栈的空间由系统决定何时释放,堆需要自己决定何时去释放
D、堆的使用容易产生碎片,但是用起来最方便
答案: A
解析:堆:自己做菜自己吃,什么时候收盘子自己知道,但是可能会浪费(产生碎片),因为可能自己一个人吃不完。
桟:公司食堂,你吃饭由食堂工作人员帮你打饭和分配位置,吃完了工作人员帮你收盘子。你浪费粮食(碎片)那是
不可能的,因为食堂会把碎片拿去喂猪。
四、用二分法查找长度为10的、排好序的线性表,查找不成功时,最多需要比较多少次?
A、3
B、4
C、5
D、6
答案:B
解析:二分查找,