总共20道选择题,全部不定项。总分100分,时间75分钟。去年时间是90分钟的。。。。 1~8,做对3分,半对2分,错误-2分,不做0分 9~18,做对5分,半对3分,错误-3分,不做0分 19~20,做对13分,半对7分,错误-7分,不做0分 1、关于支持不定数量参数的方法(supportvariable parameters)有哪些? (cdecl,stdcall,pascal,fastcall) cdecl只有这一个。 2、以下代码输出的结果是:
第一个b->f()为动态绑定,输出B::f没问题,第二个,目前还没弄明白, 感觉是由于函数g的参数有const,所以调用成员函数也是调用const版本,但是const版本的不是虚函数,不存在动态绑定,所以输出A::f const。 3、linked list和array的区别,链表与数组的区别。 What is the difference between a linked list and an array?(3 Points) A. Search complexity when both are sorted B. Dynamically add/remove C. Random access efficiency D. Data storage type 4、线程Thread和进程Process的区别(下列关于...和...说法正确的是?)好像是指明了windows下的。 About the Thread and Process in Windows, which description(s) is(are) correct:(3 Points) A. One application in OS must have one Process, but not a necessary to have one Thread B. The Process could have its own Stack but the thread only could share the Stack of its parent Process C. Thread must belongs to a Process D. Thread could change its belonging Process 5、更奇葩的:
使用g++编译,直接警告这是未定义的。。。。。 当然也给出了结果11,11. 使用vc编译,没有任何警告,结果也是11,11. 6、给一个二维数组,求数组的[x][y]是多少(x,y是确定的数字)?Java/C#下的 For the following Java or C# code(3 Points)
What will myArray3[2][2] returns? A. 9 B. 2 C. 6 D. overflow 答案是D越界。 7、关于const int x和const int * x和int const x的注释表述是否正确。 Please choose the right statement about const usage:(3 Points) A. const int a; //const integer B. int const a; //const integer C. int const *a; //a pointer which point to const integer D. const int *a; //a const pointer which point to integer E. int const *a; // a const pointer which point to integer AB选项忘记初始化了,但是描述正确的是ABC,自己查查资料吧。 8、以下代码输出的结果是:
答案:22221111. 这个做错了。。。。。觉得不可能这么简单,果然有猫腻。。 seta中,参数是基类C类型的指针,然后移动指针取对象并赋值, 但是main中往函数seta中传递的是派生类的对象,所以对象被截取了。。。再按照基类去取对象,只取出了一部分 自己慢慢体会吧。。。 9、1000瓶中有1瓶毒药,喂老鼠,问至少多少只老鼠,才能识别毒药? 1 of 1000 bottles of water is poisoned which will kill a rat in 1 week if the rat drunk any amout of the water. Given the bottles of water have no visual difference, how many rats are needed at least to find the poisoned one in 1 week?(5 Points) A. 9 B. 10 C. 32 D. None of the above (2^n > 1000),n=10即可。 10.下列代码输出值为1的是?(其中选项有return 1&7,return "ab" == "ab") Which of the following statement(s) equal(s) value 1 in C programming language?(5 Points) A. the return value of main function if program ends normally B. return (7&1) C. char *str="microsoft"; return str=="microsoft" D. return "microsoft"=="microsoft" E. None of the above 1&7=1; gcc下会对"ab" == "ab"警告:比较字面值是未定义的行为。但是结果也给出1. 还有一项是:char *s="abc";return s=="abc"; 测试发现一般编译器都会优化,但是g++会警告。。。 但。。。。。。。但是,这是微软的笔试。。。 11、32位有符号数x,x/2不等于x>>1的情况? If you computed 32 bit signed integers F and G from 32 bit signed X using F = X / 2 and G = (X>>1), and you found F!=G, this implies that A. There is a compiler error B. X is odd C. X is negative D. F - G = 1 E. G - F = 1 12、3*4的表格grid,可能找出多少个方框?(6 0) How many rectangles you can find from 3*4 grid? A. 18 B. 20 C. 40 D. 60 E. None of above is correct |