华为C++笔试重点:静态变量、引用与指针、实时系统特性
需积分: 9 54 浏览量
更新于2024-09-18
收藏 90KB DOC 举报
"本文涵盖了华为C++笔试题中的关键知识点,包括static的作用、引用与指针的区别、实时系统特性、内存中的变量存储、平衡二叉树概念、堆栈溢出原因、虚函数的限制、冒泡排序时间复杂度、浮点数比较、网络协议TCP/IP及其层次结构、IP地址与物理地址转换协议ARP、IP地址结构、循环计数程序设计以及switch语句的参数限制。"
1. `static`关键字的用途:
- 在函数内部,static变量使得变量的值在函数多次调用间保持不变,即具有持久性。
- 在模块级别,static修饰的变量仅对本模块可见,提供了一种封装机制。
- 对于函数,static可以限制其作用域,使其成为内部函数,只在声明它的模块内可用。
2. 引用与指针的区别:
- 引用必须在声明时初始化,而指针可以在任何时候被赋值。
- 引用一旦初始化后,不能改变引用的对象,而指针可以改变所指向的地址。
- 不存在空引用,但指针可以为NULL,表示不指向任何对象。
3. 实时系统的基本特性:
- 实时性:系统必须在规定的时间内完成任务,否则可能导致错误或失败。
- 可靠性:系统应能持续稳定地执行任务,确保关键操作的正确完成。
4. 全局变量和局部变量的内存区别:
- 全局变量存储在静态存储区,生命周期贯穿整个程序运行期间。
- 局部变量存储在栈上,随着所在函数的调用和结束,其生命周期随之变化。
5. 平衡二叉树的定义:
- 平衡二叉树是一种特殊的二叉树,其左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
6. 堆栈溢出的原因:
- 主要是由于分配给栈的内存空间不足,当分配的局部变量过多或递归过深时,可能导致堆栈溢出。
7. 不能声明为虚函数的函数:
- 构造函数不能声明为虚函数,因为虚函数是在对象实例化后确定行为的,而构造过程在对象创建时进行。
8. 冒泡排序的时间复杂度:
- 最坏情况下,冒泡排序的时间复杂度为O(n^2),其中n是待排序元素的数量。
9. 浮点数x与零值比较的if语句:
- if(x > 0.000001 && x < -0.000001) 这样的条件用于判断x是否接近于零,但不等于零。
10. Internet采用的网络协议及层次结构:
- TCP/IP协议是Internet的基础协议。
- 主要层次结构为:应用层、传输层、网络层、数据链路层和物理层。
11. IP地址与物理地址转换协议:
- ARP (Address Resolution Protocol) 负责将IP地址转换为物理地址(MAC地址)。
12. IP地址编码的两部分:
- IP地址由网络号和主机号组成,通过子网掩码确定这两部分。
13. 循环计数程序设计:
- 使用循环链表和取余运算,可以实现从1到N的顺序计数,每数到M就输出该数值。
14. switch()的参数限制:
- switch语句的参数不能是浮点型,只能是整型、字符型或者枚举类型。
234 浏览量
2023-08-30 上传
2023-09-19 上传
2023-07-29 上传
2023-09-01 上传
2023-06-23 上传
2023-09-19 上传
sj0519
- 粉丝: 3
- 资源: 12
最新资源
- 掌握数学建模:层次分析法详细案例解析
- JSP项目实战:广告分类系统v2.0完整教程
- 如何在没有蓝牙的PC上启用并使用手机蓝牙
- SpringBoot与微信小程序打造游戏助手完整教程
- 高效管理短期借款的Excel明细表模板
- 兄弟1608/1618/1619系列复印机维修手册
- 深度学习模型Sora开源,革新随机噪声处理
- 控制率算法实现案例集:LQR、H无穷与神经网络.zip
- Java开发的HTML浏览器源码发布
- Android闹钟程序源码分析与实践指南
- H3C S12500R升级指南:兼容性、空间及版本过渡注意事项
- Android仿微信导航页开门效果实现教程
- 深度研究文本相似度:BERT、SentenceBERT、SimCSE模型分析
- Java开发的zip压缩包查看程序源码解析
- H3C S12500S系列升级指南及注意事项
- 全球海陆掩膜数据解析与应用