浙商银行2011.11.26校园招聘会笔试题

来源:互联网 发布:二叉树先序非递归算法 编辑:程序博客网 时间:2024/04/25 15:08

1、下列4行代码是否有错误,若有错误请指出,若没有,请确定a的值是多少?

[cpp] view plaincopy
  1. int main(void)  
  2. {  
  3.     int a = 3;  
  4.     a += (a++);        //7  
  5.     a += (++a);        //8  
  6.     (++a) += (a++);    //9  
  7.     (a++) += a;        //a++不是左值,是右值  
  8.     return 0;  
  9. }  

2、下面代码的输出是多少?

[cpp] view plaincopy
  1. int main(void)  
  2. {  
  3.     FILE *fp;  
  4.     char str[100];  
  5.     fp=fopen("myfile.dat","w");  
  6.     fputs("abc",fp);  
  7.     fclose(fp);  
  8.   
  9.     fp=fopen("myfile.data","a++");  
  10.     fprintf(fp,"%d",28);  
  11.     rewind(fp);  
  12.     fscanf(fp,"%s",str);  
  13.     puts(str);  
  14.     fclose(fp);  
  15.   
  16.     return 0;  
  17. }  

3、下面代码的输出是(B

[cpp] view plaincopy
  1. class Myclass  
  2. {  
  3. public:  
  4.     Myclass(int n) { number = n;}  
  5.     Myclass(Myclass &other)  
  6.     {  
  7.         number = other.number;  
  8.         cout<<"a ";  
  9.     }  
  10. private:  
  11.     int number;  
  12. };  
  13. Myclass fun(Myclass p)  
  14. {  
  15.     Myclass temp(p);  
  16.     return temp;  
  17. }  
  18.   
  19. int main(void)  
  20. {  
  21.     Myclass obj1(10),obj2(0);  
  22.     Myclass obj3(obj1);  
  23.     obj2=fun(obj3);  
  24.     return 0;  
  25. }  

A、a a a               B、a  a  a  a                 C、a  a                          D、a     

定义对象obj3的时候,调用了对象赋值函数,输出了a,调用函数fun的时候,先调用对象赋值函数把对象obj3赋值给了p,然后又一次调用对象赋值函数赋值给了temp对象,最后把函数返回值又赋值给了对象obj2,共调用了4次,所以输出了4个a。

4、下面代码的输出是(A

[cpp] view plaincopy
  1. class Myclass  
  2. {  
  3. public:  
  4.     Myclass(int n) { number = n;}  
  5.     Myclass(Myclass &other)  
  6.     {  
  7.         number = other.number;  
  8.         cout<<"a ";  
  9.     }  
  10. private:  
  11.     int number;  
  12. };  
  13. Myclass fun(Myclass &p)  
  14. {  
  15.     Myclass temp(p);  
  16.     return temp;  
  17. }  
  18.   
  19. int main(void)  
  20. {  
  21.     Myclass obj1(10),obj2(0);  
  22.     Myclass obj3(obj1);  
  23.     obj2=fun(obj3);  
  24.     return 0;  
  25. }  

A、a a a               B、a  a  a  a                 C、a  a                          D、a    

由于函数fun的是传引用参数,没有进行对象的赋值,只是在函数内部进行了一次对象之间的赋值,所以比上一题少了一次调用,所以就输出了3个a。

5、下面错误的是()

A、define N 10;

int x[N];

B、int N = 10;                   //这个是错误的,数组的大小应该是一个常量表达式
 int x[N];

C、const int N = 10;          //这个是正确的
 int x[N];

D、int x[0..10];

E、int x[];
简答题:

1、abstract class 和interface的区别?

2、数据库中索引的作用的什么?什么情况下适合建立索引及什么情况下不适合建立索引?

3、黑盒测试和白盒测试的优缺点各是什么?



原创粉丝点击