小编今天为大家提供的试题多为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.声明静态外部函数