网新恒天招聘会笔试题和面试题答案
1、下列哪种数据类型不能用作switch的表达式变量(C)
A、byte B、char C、long D、enum
2、在图采用邻接表存储时,求最小生成树的 Prim 算法的时间复杂度为( B )。
A、 O(n) B、O(n+e) C、 O(n2) D、O(n3)
3、在图采用邻接矩阵存储时,求最小生成树的 Prim 算法的时间复杂度为( C )。
A、 O(n) B、 O(n+e) C、 O(n2) D、O(n3)
4、树的后根遍历序列等同于该树对应的二叉树的( B ).
A、先序序列 B、中序序列 C、后序序列
5、“Abc汉字”的长度为( C)
A、5 B、6 C、7 D、8
[cpp] view plaincopyint main(void)
{
char str[]="Abc汉字";
cout<
return 0;
}
汉字存储的时候占用2个字节
6、下面程序的输出结果为( C )
[cpp] view plaincopyunsigned int a=1;
A、-4 B、4 C、4294967294 D、4294967295
考查的是unsigned int和int在一起混合运算,int转化为unsigned int
-2的补码就是2^32-2,即是4294967294 ,乘以1的结果还是这个数字。
7、下面程序的输出结果为( B )
[cpp] view plaincopyvoid fn(int *b)
{
cout<<(*b)++;
}
int main(void)
{
int a=7;
fn(&a);
return 0;
}
A、77 B、78 C、89 D、undefined
8、下面程序的输出结果为( C )
[cpp] view plaincopy#pragma pack(8)
union A
{
char a[13];
int b;
};
int main(void)
{
cout<
return 0;
}
A、4 B、8 C、16 D、12
9、下面程序的输出结果为( A )
[cpp] view plaincopyclass A
{
public:
A(int a)
{
printf("%d ",a);
}
};
A a(1);
int main(void)
{
printf("main ");
A c(2);
static A b(3);
return 0;
}
A、1 main 2 3 B、1 main 3 2 C、main 1 2 3 D、main 1 3 2
10、下面程序的输出结果为( B )
[cpp] view plaincopystruct Test
{
unsigned short int a:5;
unsigned short int b:5;
unsigned short int c:6;
};
int main(void)
{
Test test;
test.a=16;
test.b=4;
test.c=0;
int i=*(short*)&test;
printf("%d\n",i);
return 0;
}
A、6 B、144 C、5 D、95
1、程序中':'的作用,如 unsigned short int a:5;表示变量a占了5个bit的空间,这样的话结构体所占的变量空间为5+5+6,暂且表示为000000|00000|00000,对应c|b|a
2、在主程序中对结构体初始化a=16,b=4,c=0,转换为二进制放到上面的空间,000000|00100|10000同样对应a|b|c
3、后面一句int i=*(short*)&test;取结构体test的地址空间,就是上面的000000|00100|10000,转换成short型,也就是144
11、n个结点的线索二叉树上含有的线索数为( C )
A、2n B、n-l C、n+l D、n
12、( C)的遍历仍需要栈的支持.
A、前序线索树 B、中序线索树 C、后序线索树
13、二叉树在线索后,仍不能有效求解的问题是( D )。
A、前(先)序线索二叉树中求前(先)序后继
B、中序线索二叉树中求中序后继
C、中序线索二叉树中求中序前驱
D、后序线索二叉树中求后序后继
14、求解最短路径的Floyd算法的时间复杂度为( D )。
A、O(n) B、 O(n+c) C、O(n*n) D、O(n*n*n)