当前位置:首页 > 嵌入式培训 > 嵌入式招聘 > 嵌入式面试题 > 软件公司面试题 综合笔试题(含答案)

软件公司面试题 综合笔试题(含答案) 时间:2016-07-12      来源:未知

小编今天为大家提供的试题多为C语言、数据结构方面的试题,符合嵌入式公司出题模式!希望对大家有所帮助。

1、现在有以下语句:

struct _THUNDER{

int iVersion;

char cTag;

char cAdv;

int iUser;

char cEnd;

}Thunder;

int sz = sizeof(Thunder);

则执行后,变量sz的值将得到

A.11

B.12

C.13

D.16

2、关于内联函数正确的是()

A.类的私有成员函数不能作为内联函数

B.在所有类说明中内部定义的成员函数都是内联函数

C.类的保护成员函数不能作为内联函数

D.使用内联函数的地方会在运行阶段用内联函数体替换掉

3、若一个栈以向量V[1…n]存储,初始栈顶指针top为n+1,则下面x入栈的正确操作是()

A.top:=top+1;V[top]:=x

B.V[top]:=x;top:=top+1

C.top:=top-1;V[top]:=x

D.V[top]:=x;top:=top-1

4、下述有关栈和队列的区别,说法错误的是?

A.栈是限定只能在表的一端进行插入和删除操作。

B.队列是限定只能在表的一端进行插入和在另一端进行删除操作。

C.栈和队列都属于线性表

D.栈的插入操作时间复杂度都是o(1),队列的插入操作时间复杂度是o(n)

5、下面关于多态性的描述,错误的是:

A.C++语言的多态性分为编译时的多态性和运行时的多态性

B.编译时的多态性可通过函数重载实现

C.运行时的多态性可通过模板和虚函数实现

D.实现运行时多态性的机制称为动态绑定

6、下列对函数double add(int a , int b)进行重载,正确的是()

A.int add(int a ,int b ,int c)

B.int add(double a , double b)

C.double add(double a , double b)

D.int add(int a , int b)

7、下面算法中可以判断出一个有向图是否有环的是:()

A.求短路径

B.深度优先遍历

C.广度优先遍历

D.拓扑排序

8、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?

9、写出下列代码的输出内容 ___

int inc(int a)

{

return(++a);

}

int multi(int*a,int*b,int*c)

{

return(*c=*a**b);

}

typedef int(FUNC1)(int in);

typedef int(FUNC2) (int*,int*,int*);

void show(FUNC2 fun,int arg1, int*arg2)

{

FUNC1 * p=&inc;

int temp =p(arg1);

fun(&temp,&arg1, arg2);

printf("%d\n",*arg2);

}

main( )

{

int a;

show(multi,10,&a);

return 0;

}

10、static有什么用途?(请至少说明两种)

参考答案:

1~5:DBCDC 6~7:ABC BD

8:可以,在不同的C文件中以static形式来声明同名全局变量。

可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此

时连接不会出错

9:110

10:类型声明符在C语言里面主要有三个用途:

1.声明静态局部变量

2.声明静态外部全局变量

3.声明静态外部函数

上一篇:嵌入式公司研发精选题 值得你做!

下一篇:数据结构测试题(含答案)

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部