1、答案仅供参考-更改了部分个人认为不严谨的答案,以及一点点注释1.Whichofthefollowingcallingconvention(s)support(s)supportvariable-lengthparameter(e.g.printf)?(3Points) A.cdecl B.stdcall C.pascal D.fastcall注:可变参数函数需要由调用者清栈,因为当前函数并不知道要有多少参数被传入,所以必须用cdcel2.What'stheoutputofthefollowingcode?(3Points)1.class A 2.{ 3.public
2、: 4. virtual void f() 5. { 6. cout<<"A::f()"<
3、) const 22. { 23. cout<<"B::f() const"<f(); 3.} 4. 5.int main() 6.{ 7. A* a = new B(); 8. a->f(); 9. g(a); 10. delete a ; 11.} A.B::f()B::f()const B.B::f()A::f()const C.A::f()B::f()const
4、 D. A::f()A::f()const 注:const类指针只可以调用const类方法3.Whatisthedifferencebetweenalinkedlistandanarray?(3Points) A.Searchcomplexitywhenbotharesorted B.Dynamicallyadd/remove C.Randomaccessefficiency D.Datastoragetype4.AbouttheThreadandProcessinWindows,whichdescription(s)is(are)correct:(3Points) A.On
5、eapplicationinOSmusthaveoneProcess,butnotanecessarytohaveoneThread B.TheProcesscouldhaveitsownStackbutthethreadonlycouldsharetheStackofitsparentProcess C.ThreadmustbelongstoaProcess D.ThreadcouldchangeitsbelongingProcess5.Whatistheoutputofthefollowingcode?(3Points)1.{ 2. int x = 10 ; 3. i
6、nt y = 10 ; 4. x = x++ ; 5. y = ++y ; 6. printf("%d, %d",x,y); 7.} A.10,10 B.10,11 C.11,10D.11,11注:这是道错题。根据ANSI/ISOC标准描述:“在上一个和下一个序列点之间,一个对象所保存的值至多只能被表达式的求值修改一次,而且只有在确定将要保存的值的时候才能访问前一个值。”像x=x++,y=++y这样两次修改同一个变量的表达式是绝不允许的(或者,无论如何都无需明确定义,也就是说,无需知道它们到底做什么,编译器也不必支持它们。)引用至《你必须知道的495个C语言
7、问题》,人民邮电出版社,37页这种题多见于谭浩强老爷爷出的C教程书。可想而知微软程序员也是看这本书长大的。6.ForthefollowingJavaorC#code(3Points)1.int [][] myArray3 = 2.new int[3][]{ 3. new int[3]{5,6,2}, 4. new int[5]{6,9,7,8,3}, 5. new int[2]{3,2}}; WhatwillmyArray3