下载后可任意编辑网龙笔试题及答案下载后可任意编辑一.题型:问答五题,程序两题,选择 10 来题二.题目1. 堆和栈的区别与联系(C/C++的内容,不是数据结构的内容)1、栈区(stack)由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)一般由程序员分配释放, 若程序员不释放,程序结束时可能由 OS 回收 。注意它与数据结构中的堆是两回事。区别:1.管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生内存溢出。2. 空间大小:堆内存几乎是没有什么限制。栈一般都是有一定的空间大小。3. 碎片问题:对于堆来讲,频繁的 new/delete 会造成内存空间的不连续,从而造成大量的碎片,使程序效率降低。对于栈来讲,则不会存在这个问题。4. 分配方式:堆都是动态分配的,没有静态分配的堆。栈有 2 种分配方式:静态分配和动态分配。5. 分配效率:栈的效率比较高。堆的效率比栈要低得多。见:hi.baidu.com/sige_online/blog/item/f06097ecb006bb3f2797918b.html2. 重载和覆盖的区别与联系重载是指不同的函数使用相同的函数名,但函数的参数个数或类型不通。调用的使用根据函数的参数来区别不同的函数。覆盖是指派生类中重新对基类的虚函数重新实现。即函数名和参数都一样只是函数的实现体不一样。3. 什么是多重继承,好处及缺点多重继承指的是一个类别能够同时从多于一个父类继承行为与特征的功能。优点:能够使用多重继承编写非常复杂、但很紧凑的代码,如 C++ ATL 库。缺点:出现二义性、虚函数、访问权限等问题,容易产生混淆。4. 做过什么项目.遇到什么问题(不写似乎没事) 自己想吧,根据自己情况写5. 不用第三个变量 交换两个 int 型的值(必须用 C 实现) int a = 2, b = 3; a=a+b; b=a-b; a=a-b;6. 链表删除操作 此处实现删除链表中的第二个元素。int * p, * q ,* list ;//p,q 为指针类型, list 为已存在的链表 p=list; //p 指向 list 的第一个元素 q=list; //q 指向 list 的第一个元素 if(p->next != null) { //list 链表的元素超过一个 q=q->next; //q 指向第二个元素 p->next = q->next ; //p->next 指向第三个元素下载后可任意编辑 delete q; //释放链表的第二个元素空间}7. 写一个程序,堆能够访问,栈不能够访问。 写一个程序,栈能够访问,...