这次有关嵌入式测试题是根据C/C++及数据库这些常考试题,小编为大家总结的这些易考试题!复习好这些基础题以免在笔试现场掉链子,注:往往基础的也恰恰是很重要的!希望能帮助你们。
1、有一个用数组 C[1..m]表示的环形队列,m 为数组的长度。假设 f 为队头元素在数组中的位置,r 为队尾元素的后一位置(按顺时针方向)。若队列非空,则计算队列中元素个数的公式应为
A.(m+r-f)mod m
B.r-f
C.(m-r+f) mod m
D.(r-f) mod m
2、函数x的定义如下,问x(x(8)需要调用几次函数x(int n)?
int x(int n){
cnt++;
if (n<=3)
{
return 1;
}
else
{
return x(n-2)+x(n-4)+1;
}
}
A.16
B.18
C.20
D.22
3、下面有关java final的基本规则,描述错误的是
A.final修饰的类不能被继承
B.final修饰的成员变量只允许赋值一次,且只能在类方法赋值
C.final修饰的局部变量即为常量,只能赋值一次。
D.final修饰的方法不允许被子类覆盖
4、int (*p)[3] p的含义是什么
A.一个指向int元素大小为3的指针数组
B.一个指向元素个数为3的int数组的指针
C.不合法
D.以上说法都不正确
5、4个圆盘的Hanoi塔,总的移动次数为()
A.8
B.16
C.7
D.15
6、设森林F中有三棵树,第一、第二、第三棵树的结点个数分别为M1、M2和M3,与森林F对应的二叉树根结点的右子树上的结点个数是()
A.M1
B.M1+M2
C.M2+M3
D.M3
7、工程师M发明了一种游戏:M将一个小球随机放入完全相同的三个盒子中的某一个,玩家选中装有球的盒子即获胜;开始时M会让玩家选择一个盒子(选择任何一个获胜概率均为1/3);玩家做出选择后,M会打开没有被选择的两个盒子中的一个空盒,此时M会询问玩家是否更改选择(可以坚持第一次选择,也可以选择另一个没有打开的盒子),下列叙述正确的有()
A.若不改选,玩家的获胜概率是1/2
B.无论怎么选择,获胜的概率都是1/2
C.选择另一个没有被打开的盒子获胜概率更高
D.获胜概率取决于随机因素(如小球的实际位置)
8、有一个二维数组a[1...100 , 1...65]有100行,65列,我们以行序为主序,如果该数组的基地址是10000,且每个元素占2个存储单元,请问a[56 , 22]的存储地址是 1 。注意是下标是从1开始的
参考答案:
1~5:ABBBD 6~7:CC 8:17192