中兴软件C++笔试题.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
【知识点详解】 1. Const 和 #define 的区别:Const 是 C++ 中的常量,它在编译时确定,可以在运行时改变对象的引用。#define 是预处理器指令,进行文本替换,没有类型检查,且在编译前完成。 2. #include <filename.h> 和 #include “filename.h”的区别:前者用于包含标准库头文件,系统会在标准库路径中查找;后者用于包含用户自定义的头文件,编译器会先在当前目录下查找,然后在系统头文件路径中查找。 3. 编写宏实现参数乘积:`#define MULTIPLY(x, y) ((x)*(y))` 4. sizeof(str)的数值:在 C++ 中,sizeof(str)会返回字符数组str的总字节数,包括结束符'\0',因此其值为6。 5. float x 与"零值"比较的 if 语句:`if (x == 0.0f) {...}` 6. char *p 与"零值"比较的 if 语句:`if (p == NULL || *p == '\0') {...}` 7. 判定字长环境的函数:可以使用字节序判断,例如: ```cpp bool isLittleEndian() { union { int i; char c; } test; test.i = 1; return test.c == 1; } ``` 8. 结构体和联合体的主要区别:结构体中各成员占有各自独立的空间,而联合体中所有成员共用同一块内存空间。 9. 操作系统的主要组成部分:内核、设备驱动程序、文件系统、用户接口等。 10. 进程调度策略:FCFS(先来先服务)、SJF(短作业优先)、优先级调度、时间片轮转等。 11. 进程间主要的通讯方式:管道、信号量、消息队列、共享内存、套接字等。 12. 进程的主要状态:就绪态、运行态、阻塞态、创建态和终止态。 13. Internet 采用的网络协议:TCP/IP 协议栈,主要层次结构为应用层、传输层、网络层和数据链路层。 14. 以太网物理地址和 IP 地址转换采用 ARP(地址解析协议)。 15. IP 地址编码分为网络部分和主机部分。 16. 以太网数据帧格式:源MAC地址、目标MAC地址、类型/长度、数据、CRC校验。 17. 8031 和 8051 的主要区别:8031 没有内部RAM,8051有内部RAM并支持直接和间接寻址。 18. C++中的空类默认会产生一个默认构造函数、析构函数、复制构造函数和赋值操作符。 19. 分析程序执行结果:程序创建了一个基类base的子类subs的对象s,基类的构造和析构函数会被调用。 20. 程序错误:在结构体String中,未初始化指针成员,直接使用malloc分配内存,可能导致内存泄漏。在将b赋值给a后,释放了a.pData,但b仍指向原内存,造成悬挂指针。c=b时,b的内存被释放,c也变为悬挂指针。 21. 程序区别:【1】中,循环内部的for循环会覆盖之前的数据,最后arr全为1;【2】中,每次循环都会重新从0开始赋值,因此数组arr最终只保留最后一次循环的结果,即全为1。 22. 程序错误:`#define MAXNUM 400;`末尾分号错误,应去掉;ucIndex 超出数组范围,可能导致数组越界;ucInputVar的值未定义,直接用于循环条件,可能导致无限循环。
剩余6页未读,继续阅读
- 粉丝: 36w+
- 资源: 3180
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助