【C/C++笔试知识点】 1. **static的用途**: - 在函数内部,static变量在函数每次调用时保留其前一次的值,而非重新初始化。 - 在全局作用域内,static变量只能在定义它的模块内访问,提供了一种局部全局变量的方式。 - 在函数外部,static修饰的函数限制了其可见性,只能在定义它的模块内部调用。 2. **引用与指针的区别**: - 引用必须在声明时初始化,而指针可以在任何时候被分配或重新分配。 - 引用一旦初始化后就不能改变引用的对象,而指针可以改变所指的地址。 - 不存在空引用,但指针可以指向NULL。 3. **实时系统的基本特性**: 实时系统强调在规定的时间内完成特定任务,具有实时性和可靠性两大特征。 4. **全局变量和局部变量的内存差异**: 全局变量存储在静态存储区,生命周期始于程序开始,终于程序结束;局部变量存储在栈区,随着函数调用的结束而释放。 5. **平衡二叉树的定义**: 平衡二叉树是一种特殊的二叉树,每个节点的左右子树高度差不超过1,并且左右子树都是平衡二叉树。 6. **堆栈溢出的原因**: 堆栈溢出通常由于栈空间不足,例如递归过深或者分配大量局部变量导致。 7. **不能声明为虚函数的函数**: 构造函数不能声明为虚函数,因为虚函数的作用主要在于多态性,而构造函数在对象创建时执行,多态性在此时并无意义。 8. **冒泡排序的时间复杂度**: 冒泡排序的时间复杂度为O(n^2),适用于小规模数据的排序。 9. **float x与零值比较的if语句**: `if(x > 0.000001 && x < -0.000001)` 可用于近似比较浮点数x是否为零,考虑到浮点误差。 10. **Internet采用的网络协议**: TCP/IP协议是Internet的基础,其层次结构包括应用层、传输层、网络层、数据链路层和物理层。 11. **IP地址的组成部分**: IP地址由网络号和主机号组成,通过子网掩码来区分这两部分。 12. **物理地址和IP地址转换协议**: ARP(地址解析协议)用于将IP地址解析为物理地址(MAC地址)。 13. **循环计数程序**: 用户输入M和N,从1开始顺序计数,每数到M时输出该数值。此题可以通过取模操作实现。 14. **switch()不能接受的参数类型**: switch语句的表达式不能是浮点型。 15. **数组重新排列题**: 给定一个整数数组A[nSize],包含0和非0整数,要求将0移到数组末尾,非0整数保持有序,返回第一个0的下标。解决此题可采用双指针法,一个指针追踪非0整数,一个指针追踪0。 16. **组合计数题**: 求1、2、5的不同个数组合和为100的组合个数。这题可通过数学方法优化,避免三重循环的低效计算,通过分析1+2+5=8,可得100=12.5*8,从而计算奇偶性进行优化。 以上是针对给定的笔试题目的知识点解析,涵盖了C/C++语言特性、数据结构、算法、计算机网络以及编程逻辑等多个方面。这些知识点对于理解和解答C/C++相关的笔试题至关重要。
剩余63页未读,继续阅读
- 粉丝: 0
- 资源: 11
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助