常见的嵌入式笔试/面试(三)

1.下列函数中,能声明为虚函数的是(BCD)
A.构造函数
B.公有成员函数
C.析构函数
D.私有成员函数

2.某一系统功能,需要一次性加载N(N在100左右)个随机数,后续只对该集合进行遍历.最宜采用哪种结构存放?(C)
A.Hash表
B.二叉树
C.链表
D.图
解析:随机数,未经排序,二叉树不适合;需要遍历,hash表不适合;不强调数据之间的关系,图不适合;随机数数据类型不一致,数组不适合。综上所述,链表最适合。

3.关于malloc,下列说法正确的是(AB)[多选]
A.malloc需要头文件stdlib.h
B.malloc的返回值是一个指针
C.使用malloc时需要强制类型转换
D.malloc有两个参数
在C中使用malloc时不需要强制类型转换,因为在C中从void*到其他类型的指针是自动隐式转换的;
在C++中使用malloc时必须要强制类型转换,否则会报错,但在c++中一般用new而不用malloc;

4.假设 AA 是一个类, AA* abc () const 是该类的一个成员函数的原型。若该函数返回 this 值,当用 x.abc ()调用该成员函数后, x 的值是(D)
A.可能被改变
B.已经被改变
C.收到函数调用的影响
D.不变
解析:类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。

5.创建对象时系统自动调用相应的构造函数为对象初始化.这句话是否正确 (对)

解析:构造函数的作用是在对象被创建时利用特定的值构造对象,对对象进行初始化,即对数据成员进行初始化,构造函数也是类的成员函数,它具有一些特性:
1.构造函数的名字和类的名字相同
2.构造函数可以具有一个或者多个参数,构造函数可以重载
3.构造函数没有返回类型
4.在创建一个对象的时候,系统自动调用构造函数

6.设数组data[m]作为循环队列的存储空间。front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为(D)
A.front=front+1
B.front=(front+1)%(m-1)
C.front=(front-1)%m
D.front=(front+1)%m
解析:
队尾指针是rear,队头是front,其中QueueSize为循环队列的最大长度
1.队空条件:rear == front
2.队满条件:(rear+1) %QueueSIze==front
3.计算队列长度:(rear-front+QueueSize)%QueueSize
4.入队:(rear+1)%QueueSize
5.出队:(front+1)%QueueSize

7.下面算法中可以判断出一个有向图是否有环的是()
A.求短路径
B.深度优先遍历
C.广度优先遍历
D.拓扑排序

面试:
Linux内核裁剪
如果我们不想使用源码里面的部分功能,我们就可以通过裁剪的方式阻止它编译:在linux源码包中我们可以使用make menuconfig,图形化界面很容易操作;如果不想使用它的某些功能,取消前面*即可,按空格键来控制选择. 就可以进行linux源码的裁剪. 选择完成之后就可以保存退出,执行make.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值