C++面试常见问题总结

需积分: 10 1 下载量 67 浏览量 更新于2024-07-26 收藏 253KB DOC 举报
C++常用面试题总结 本文总结了常用的C++面试题,涵盖了静态变量、引用与指针、实时系统、内存管理、数据结构、算法、网络协议等多个领域。 一、静态变量 * 静态变量有什么用途? 1. 限制变量的作用域,使其只在定义的当前文件中起作用,static是只能由与变量在同一个文件中定义的程序存取的全局变量。 2. 设置变量的存储域,存储在最开始的静态存储空间里面。 二、引用与指针 * 引用与指针有什么区别? 1. 引用必须被初始化,指针不必。 2. 引用初始化以后不能被改变,指针可以改变所指的对象。 3. 不存在指向空值的引用,但是存在指向空值的指针。 三、实时系统 * 描述实时系统的基本特性 实时系统的基本特性是能够在特定时间内完成特定的任务,实时性与可靠性。 四、内存管理 * 全局变量和局部变量在内存中是否有区别?如果有,是什么区别? 全局变量储存在静态数据库,局部变量在堆栈中。 五、数据结构 * 什么是平衡二叉树? 平衡二叉树是左右子树都是平衡二叉树且左右子树的深度差值的绝对值不大于1。 六、算法 * 冒泡排序算法的时间复杂度是什么? 冒泡排序算法的时间复杂度是O(n^2)。 七、网络协议 * Internet采用哪种网络协议?该协议的主要层次结构? Internet采用TCP/IP协议,该协议的主要层次结构包括应用层、传输层、网络层、数据链路层、物理层。 * Internet物理地址和IP地址转换采用什么协议? Internet物理地址和IP地址转换采用ARP(AddressResolutionProtocol)协议。 八、其他 * IP地址的编码分为哪俩部分? IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。 * 不能做switch()的参数类型是? switch的参数不能为实型。 * 局部变量能否和全局变量重名? 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。