logo资料库

2013年完美世界校园招聘笔试题.doc

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
2013年完美世界校园招聘笔试题
2013 年完美世界校园招聘笔试题 1、设有矩阵 A1(30*35)、A2(35*15)、A3(15*5)、A4(5*10),M=A1*A2*A3*A4, 下列组合计算 M 所需数乘次数最少的是: A、(A1(A2(A3A4))) ((A1(A2A3))A4) E、(((A1A2)A3)A4) 2、在 32 位机器上,有如下代码: C、((A1A2)(A3A4)) B、(A1((A2A3)A4)) D、 [cpp] view plaincopyprint? 1. char array[] = "abcdefg"; 2. printf("%d\n",sizeof(array)); // 8 3. 4. char *p = "abcdefg"; 5. printf("%d\n",sizeof(p)); // 4 6. 7. void func(char p[10]) printf("%d\n",sizeof(p)); // 4 8. { 9. 10. } 11. 12. void func(char (&p)[10]) printf("%d\n",sizeof(p)); // 10 13. { 14. 15. } 16. 17. int main(void) 18. { 19. 20. 21. 22. } printf("%d\n",sizeof(char[2])); printf("%d\n",sizeof(char&)); // 2 // 1 return 0; 其输出结果依次为: A、8 B、4 4 10 2 1 4 10 4 1 4 4
4 4 4 4 10 2 4 4 4 2 1 4 10 4 4 C、8 D、8 E、8 F、以上答案都不对 3、 [cpp] view plaincopyprint? 1. CONTAINER::iterator iter , tempIt; 2. for(iter = cont.begin() ; iter != cont.end() ; ) 3. { 4. 5. 6. 7. } tempIt = iter; ++iter; cont.erase(tempIt); 假设 cont 是一个 CONTAINER 的示例,里面包含数个元素,那么当 CONTAINER 为: 1、vector 2、list 3、map 4、deque 会导致上面的代码片段崩溃的 CONTAINER 类型是: A、1,4 正确答案选择 A(第 1 个、第 4 个都是线性的类型存储,所以会存在崩溃) 4、以下代码 D、2,4 B、2,3 C、1,3 [cpp] view plaincopyprint? 1. class classA 2. { 3. public: 4. 5. 6. 7. 8. 9. 10. classA() { } clear(); virtual ~classA() { }
void clear() { } memset(this , 0 , sizeof(*this)); virtual void func() { } printf("func\n"); 11. 12. 13. 14. 15. 16. 17. 18. 19. }; 20. class classB : public classA 21. { 22. }; 23. 24. int main(void) 25. { 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. classA oa; classB ob; classA * pa0 = &oa; classA * pa1 = &ob; classB * pb = &ob; // 1 // 2 // 3 // 4 // 5 oa.func(); ob.func(); pa0->func(); pa1->func(); pb->func(); return 0; 39. } A、func B、执行出错 C、执行出错 D、func E、func func func 执行出错 func func 执行出错 执行出错 执行出错 执行出错 执行出错 func 执行出错 执行出错 func func func func 执行出错 func func
F、以上选项都不对 5、在 32 位系统中 [cpp] view plaincopyprint? 1. class CBase 2. { 3. public: void func() { } Print(); virtual void Print() { } cout<<"CBase::Print"<
p->Print(); 和 c.func();的输出分别是? A、CBase::Print CBase::Print C、CDerived::Print CBase::Print 6、 B、CBase::Print CDerived::Print D、CDerived::Print CDerived::Print [cpp] view plaincopyprint? 1. struct Thing 2. { 3. 4. 5. }; int valueA; const int valueB; 6. Thing t; C、无法运行 B、垃圾值 0 t 的成员变量 valueA 和 valueB 的值分别为: A、0 0 常成员变量 valueB 必须在构造函数中进行初始化 7、for(int x = 0 , y = 0; !x && y <= 5 ; y++)语句执行循环的次数是: A、0 8、在 Windows 32 位操作系统中,假设字节对齐为 4,对于一个空的类 A,sizeof(A)的 D、垃圾值 垃圾值 B、5 C、6 D、无数次 值为() D、4 B、1 C、2 A、0 9、以下对函数指针的定义,哪些是正确的: A、typedef C、typedef int); 10、在 32 位系统中,下面结构体 int (*fun_ptr)(int , int); int (fun_ptr*)(int , int); B、typedef int *(fun_ptr)(int , int); D、typedef *int (fun_ptr)(int , [cpp] view plaincopyprint? 1. struct st 2. { 3. 4. 5. 6. 7. 8. char ch , *ptr; union { short a , b; unsigned int c : 2 , d : 1; };
bool f; struct st *next; 9. 10. 11. }; 的大小是: A、14 字节 11、32 位小端字节序的机器上,如下代码: B、16 字节 C、20 字节 D、24 字节 [cpp] view plaincopyprint? 1. char array[12] = {0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08}; 2. short *pshort = (short *)array; 3. int *pint = (int *)array; 4. int64 *pint64 = (int64 *)array; 5. printf("0x%x , 0x%x , 0x%x , 0x%x", *pshort , *(pshort+2) , *pint64 , *(p int+2)); B 、 0x201 , 0x605 , D 、 0x102 , 0x506 , F 、 0x201 , 0x605 , 输出结果为: A 、 0x201 , 0x403 , 0x807060504030201 , 0x0 0x807060504030201 , 0x0 C 、 0x201 , 0x605 , 0x4030201 , 0x8070605 0x102030405060708 , 0x0 E 、 0x102 , 0x304 , 0x1020304 , 0x5060708 0x4030201 , 0x6050403 12、有关引用,下列说法错误的是: A、引用定义时必须初始化 B、类的非静态引用成员变量不需要在构造函数中初始化 C、数组可以有引用,但没有引用数组 D、public 派生对象可以初始化基类类型的引用 E、整型数据的常引用可以直接用数值初始化 F、以上选项都不是 13、Windows PE 文件装载到的地址为: A、0x0030000 14、以下哪些对象可用于 Windows 进程间通信: A、事件 B、临界区 C、互斥量 D、共享内存 B、0x0040000 C、任意地址 D、0x10000000
分享到:
收藏