华为C++笔试重点:静态变量、引用与指针、实时系统特性
需积分: 9 24 浏览量
更新于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语句的参数不能是浮点型,只能是整型、字符型或者枚举类型。
2010-04-01 上传
2023-08-30 上传
2023-09-19 上传
2023-07-29 上传
2023-09-01 上传
2023-06-23 上传
2023-09-19 上传
sj0519
- 粉丝: 3
- 资源: 12
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查