嵌入式培训完结,给自己来个测试吧!该套测试题不仅能测试你嵌入式的基本功,你还能从中查漏补缺。祝工程师们嵌入式职业生涯越来越好!
1、双向链表中有两个指针域,llink和rlink,分别指回前驱和后继,设p指向链表中的一个结点,q指向一待插入结点,现要求在p前插入q,则正确的插入为()
A.p->llink->rlink=q;q->rlink=p;q->llink=p->llink;p->llink=q;
B.q->llink=p->llink;p->llink->rlink=q;q->rlink=p;p->llink=q->rlink;
C.q->rlink=p;p->rlink:=q;p->llink->rlink=q;q->rlink=p;
D.p->llink=q;q->rlink=p;p->llink->rlink=q;q->llink:=p->llink;
2、如何放掉一个指定占据的内存空间?()
A.调用free()方法
B.代用system.gc()方法
C.赋值给该项对象的引用为null
D.程序员无法明确强制垃圾回收器运行
3、一个长度为100的循环链表,指针A和指针B都指向了链表中的同一个节点,A以步长为1向前移动,B以步长为3向前移动,一共需要同时移动多少步A和B才能再次指向同一个节点____。
A.49
B.50
C.99
D.100
4、class ClassA
{
public:
virtual ~ ClassA(){};
virtual void FunctionA(){};
};
class ClassB
{
public:
virtual void FunctionB(){};
};
class ClassC : public ClassA,public ClassB
{
public:
};
ClassC aObject;
ClassA* pA=&aObject;
ClassB* pB=&aObject;
ClassC* pC=&aObject;
关于pA,pB,pC的取值,下面的描述中正确的是:
A.pA,pB,pC的取值相同.
B.pC=pA+pB
C.pA和pB不相同
D.pC不等于pA也不等于pB
5、在有向图的邻接表存储结构中,顶点v在链表中出现的次数是()
A.顶点v的度
B.顶点v的出度
C.顶点v的入度
D.依附于顶点v的边数
6、操作系统采用缓冲技术,通过减少对CPU的()次数,提高资源的利用率。
A.中断
B.访问
C.控制
D.依赖
7、在Linux系统中哪个文件定义了服务搜索顺序?
A./etc/services
B./etc/nsorder
C./etc/nsswitch.conf
D./etc/hosts
8、下列关于B/S架构软件与C/S架构软件的区别描述错误的是?
A.B/S属于C/S,浏览器只是特殊的客户端;
B.C/S可以使用任何通信协议,而B/S这个特殊的C/S架构规定必须实现HTTP协议;
C.C/S架构的劣势还有高昂的维护成本且投资大
D.C/S架构维护和升级方式简单
9、下列程序的运行结果为:
#include
using namespace std;
void main() {
int a = 2;
int b = ++a;
cout << a / 6 << endl;
}
A.0.5
B.0
C.0.7
D.0.6666666-
10、在TCP/IP建立连接过程中,客户端或服务器的状态转移说法错误的是?
A.经历SYN_RECV状态
B.经历ESTABLISHED状态
C.经历TIME_WAIT状态
D服务器在收到syn包时将加入半连接队列
11、在32位机器上
设有以下说明和定义:
typedef union {
long i;
int k[5];
char c;
} DATE;
struct data {
int cat;
DATE cow;
double dog;
} too;
DATE max;
则语句 printf("%d",sizeof(struct data)+sizeof(max));的执行结果是:
12、请写出下列代码的输出内容
int main() {
int a, b, c, d;
a = 10;
b = a++;
c = ++a;
d = 10 * a++;
printf("b,c,d:%d,%d,%d",b,c,d);
return 0;
}
13、在一个容量为25的循环队列中,若头指针front=18,尾指针rear=9,则该循环队列中共有 1 个元素。
参考答案:
1~5:ADBCC 6~10:ACDBC
11:52
12:10,12,120
13:16