2013微软实习生笔试题目解析:指针与继承概念与链表数组差异
需积分: 10 192 浏览量
更新于2024-07-24
收藏 88KB DOC 举报
本文档提供了2013年微软暑期实习生笔试的部分题目详解,包括编程语言概念和数据结构的基础知识。首先,解析了一道关于C++编译时语法的题目:
1. 题目考察了对C++关键字的理解,选项A和B展示了const关键字的不同位置对于变量类型的影响。正确答案是A和C,因为`constinta`表示常量整型,而`constint*a`是常量指针,表示指向常量的指针。选项E是错误的,因为它将`const`放在指针前,而不是变量名前,表示的是指针常量,即不可修改的指针值,而非指针所指向的内容。
接着,一道程序设计题目展示了虚函数和const成员函数的区别以及作用域规则:
2. 该程序定义了两个类A和B,继承自基类A。`voidf()`和`voidf()const`都是重载的方法,其中`voidf()const`表示方法在const对象上调用时的行为。在`g(constA*a)`函数中,调用`a->f()`会调用基类A的非const版本,而`a->f()`则会调用B类的`f()`。运行结果将是`A::f()`、`B::f()`和`A::f()`,因为`g(a)`传递的是基类指针。
第三部分涉及数据结构和算法的基本概念:
3. 问题询问链表与数组的主要区别。答案选项包括搜索复杂性、动态性和随机访问效率以及数据存储类型。正确答案可能是B、C和D,因为链表允许动态添加和删除元素,而数组的插入和删除操作通常效率较低;链表没有随机访问能力,访问元素需要从头或尾开始遍历;数据存储上,链表每个节点独立,而数组连续存储。
最后,一道关于进程和线程的题目考察了操作系统中它们的关系:
4. 选项C表明线程必须隶属于一个进程,这是正确的,因为线程是进程内的执行单元。其他选项中,进程至少有一个线程(A)、线程共享堆栈而非各自独立(B)、线程不能改变所属进程(D)均是基本的线程概念。
这份文档涵盖了C++编程基础、数据结构和进程/线程概念的题目,对准备微软暑期实习生笔试的学生来说,理解和解答这些问题有助于评估应聘者的理论知识和编程技能。
110 浏览量
207 浏览量
324 浏览量
111 浏览量
206 浏览量
202 浏览量
178 浏览量
2024-10-25 上传
131 浏览量
yfz792178428
- 粉丝: 14
- 资源: 18
最新资源
- Matlab 神经网络工具箱应用简介
- quartus ii 中文教程
- ArcMAP专题制图
- LoadRunner 性能测试手记
- LoadRunner 性能测试实战
- 51单片机视频教材,基础加实践
- Linux-101-Hacks
- 单元测试大揭密.pdf
- The Java™Language Specification Third Edition
- arcgis的vb二次开发
- 基于PID的点击控制
- sed命令的应用手册
- MTK_FlashTool和Catch工具的介绍.doc
- EOS 5_3产品安装指南.pdf(EOS)
- MyEclipse 6 Java 开发中文教程(第一至十章).pdf
- Flex 3 Cookbook 中文版V1.pdf