东软集团2013笔试题

一,选择


1C++)关于this 指针的说法错误的是:


A this 指针必须显示说明


当创建一个对象后,this指针就指向该对象


成员函数拥有this 指针


静态成员函数不拥有this 指针


C语言)以下程序的输出结果是:


char str[15]="hello!";

printf("%d\n",strlenstr);


A 6 

B 14

C  7

D 15


3(C++)若有以下说明,对n的正确访问语句是:


class Y

{

   public:

static int n;

};

int  Y::n;

Y objY;


A n=1; B Y::n=1; C objY::n=1; D Y->n;


4 (C语言执行下列代码后,结果是:


double result;

result=100/3;

printf("%.2f",result);

  

A 0.00 B 33.00 C 33.33 D 34.00


5(C) 执行下列代码后,结果是:


int i;

int total=0;

for(i=1;i<100;i++){

     total+=i;

}

printf("%d",total);

  

A 0 B 100 C 4950 D 5050


6(C#)当驶入合并两个非空委托失败时,可以抛出一个()异常


A InvalidCastException


B ArrayTypeMismatchException


C IndexOutOfRangeException


D MulticastNotSupportedException


7(C++) 下面关于虚函数,说法错误的是:


析构函数不能被定义为虚函数


包含纯虚函数的类不能被实例化


虚函数可以被定义为Protected 


多态通常是借助于虚构函数来实现的


8C语言) 以下不能正确定义二维数组的是:


A int a[2][2]={{1},{2}};


B int a[][2]={1,2,3,4};


C int a[2][2]={{1},2,3,4};


D int a[2][]={{1,2},{3,4}};


9(C语言执行下面代码,结果:


unsigned char v=1;

int i;

for(i=0;i<10;i++){

  v*=2;

}

printf("%d",v);

  A 0 B 1 C 512 D 1024


10(C语言执行下面代码,结果:


int checkNumber(int *n)

{

  if(*n==0)

    reuturn 0;

  else if(*n>0)

    return --(*n);

   else 

     return ++(*n);

}

 

int x=-8;

int i=0;

 

while(checkNumber(&x))

{

  i++;

}

 

printf("%d,%d",x,i);


A -1 7 B -1 8 C 0 7  D 0 8

 

12 -14 略

 

15 (软件工程)在软件开发的V模型中,应该在_____阶段指定单元测试计划。

 

A 需求分析 B 概要设计 C 详细设计 D代码编写


 

二:填空题

 

1 在16 bit 环境下,int 类型数据占__个字节,short 类型占___个字节。

 

2 class Sample

{
    int x,y;
    public :
          Sample(){x=y=0;}
          Sample(int a,int b){x=a,y=b;}
    void disp(){
           cout<<"x="<<x<<",y="<<y<<endl;  
    }
}

int _main(int argc,_TCHAR* argv[]){
         Sample s(2,3),*p=&s;
         p->disp();
         return 0;
}
   执行结果:

 3
   class Sample
{
    int x;
    public :
          Sample(int a){
                  x=a;
                  cout<<"constructing object :x="<<x<<endl;
           }
}

void func(int n){
     static Sample obj(n);
}


int _main(int argc,_TCHAR* argv[]){
         func(1);
         func(10);
         return 0;
}

   执行结果:

  
4  假设 int a[3][4]={{1,2,3,5},{2,4,6,8},{3,2,1,2}};  则a[1][2]+a[2][3]的值是:
5 假设 int a =2,则执行了a+=a*=15后,a的值为:


三,问答题

1 指针和引用的区别

2 结合下面代码,分析其对内存分配使用上的不同


ina a =5;
void func(){
    int b=10;
    char *p=(char *)malloc(32);
}
 
       3   说 明const关键字的作用

4 如何检测单向链表中是否包含环。

四,编程题

编程题详见http://wangleide414.iteye.com/picture/119658

猜你喜欢

转载自wangleide414.iteye.com/blog/1715005