滴滴打车And 360 校招 2016 在线笔试(二)

1. 有2分盐,一份120克,一份10克,用一个天平最少几次可以称出一份25克的盐?
  • 3
  • 4
  • 5
  • 6
第1次:120平分,得到60
第2次:60平分,得到30
第3次:30平分,得到15,和剩下的10加在一块就是25
2.IPV4因特网总共有多少有效A类地址?
126个。一个字节的网络地址。并且开头必须为0。
3.给出下面的代码
  1 public class Test {
  2   int m, n;
  3   public Test() {}
  4   public Test(int a) { m=a; }
  5   public static void main(String arg[]) {
  6     Test t1,t2;
  7     int j,k;
  8     j=0; k=0;
  9     t1=new Test();
  10    t2=new Test(j,k);
  11  }
  12 }
  在编译时哪行将导致一个错误? [D]
A. 第3行
B. 第5行
C. 第6行
D. 第10行
public Test(){}  代表无参数构造器
public Test(int a){m=a;}   代表只有一个参数构造器

第10行: t2=newTest(j,k);  代表使用2个参数的构造器。但Test没有定义两个参数的。所以这里错了
4. 以下程序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int fun ( int x, int y)
{
     if (x==y)
         return (x);
     else
         return ((x+y)/2);
}
int main()
{  
     int a=4,b=5,c=6;
     printf ( "%d\n" ,fun(2*a,fun(b,c)));
}
下面程序的输出是?
  • 8
  • 6
  • 12
  • 3
B 两次调用fun函数。
5.两个圆,半径分别为1cm,3cm,小圆在大圆外,绕大圆圆周一周,请问小圆一个旋转了多少圈?
  • 4
  • 1
  • 2
  • 3
答案为;A。四圈。
6..下列代码哪几行会出错: ( )
1) public void modify() { 
2) int I, j, k; 
3) I=100; 
4) while(I>0){ 
5) j= I * 2; 
6) System.out.println (" The value of j is " + j ); 
7) k=k + 1; 
8) I--; 
9) } 
10)}
(A) line 4                 (B) line 6 
(C) line 7                 (D) line 8 
选择C。局部变量必须初始化,成员变量不需初始化,数组不需初始化。
7. java中实例变量在什么时候被分配内存空间?
初始化的时候,也就是说给变量第一次赋值的时候。
8.有以下函数
int fun(char *x,char *y)
{ int n=0;
  while((*x==*y)&&*x!='\0'){x++;y++;n++;}
  return n;
}
函数的功能是 ______ 。
A. 查找x和y所指字符串中是否有'\0'
B. 统计x和y所指字符串中最前面连续相同的字符个数
C. 将y所指字符串赋给x所指存储空间
D. 统计x和y所指字符串中相同的字符个数

答案:B
解析:循环中(*x==*y)&&*x!='\0'表示的是当x和y当前所指的字符相同,这时循环体中n++。当x和y所指字符不再相同时,结束循环,返回n的值。所以这就是在统计x和y所指字符串中最前面连续相同的字符个数。因此选B。
9.

有如下类定义和变量定义:

class Parents{

public:

int publicuata;

private:

int privateData;

};

class ChildA:public Parents{/*类体略*/};

class ChildB:private Parents{/*类体略*/);

ChildA a;

ChildBb;

下列语句中不正确的是

A)cout<<a.publicData <<endl ;

B)cout<<a.privateData <<endl ;

C)cout<<b.publicData <<endl ;

D)cout<<b.privateData <<endl ;

答案为BCD。

10.关于this指针正确的是?

A保证每个对象拥有自己的数据成员,但共享处理这些数据的代码

 B. 保证基类私有成员在子类中可以被访问。

 C. 保证基类保护成员在子类中可以被访问。

 D. 保证基类公有成员在子类中可以被访问。 

答案:A 
解析:
this指针是隐藏的,可以使用该指针来访问调用对象中的数据。基类的成员在派生 类中能否访问,与继承方式有关,与this没有关系。所以选择A项。

11.下面叙述不正确的是()

A. 派生类一般都用公有派生

B. 对基类成员的访问必须是无二义性的

C. 赋值兼容规则也适用于多重继承的组合

D. 基类的公有成员在派生类中仍然是公有的

答案:D

解析:继承方式有三种:公有、私有和保护。多继承中,多个基类具有同名成员,在它们

的子类中访问这些成员,就产生了二义性,但进行访问时,不能存在二义性。赋值兼容规则是指 派生类对象可以当作基类对象使用,只要存在继承关系,所以单继承或多继承都适用。基类中的 公有成员采用私有继承时,在派生类中变成了私有成员,所以D项错误。

12.定义网络服务端口的文件是哪个?

答案/etc/services

13.

答案为B。因为x为基类的私有成员。

14.

对于下列代码: C
  public class Parent { 
   public int addValue( int a, int b) { 
     int s; 
     s = a+b; 
     return s; 
   } 
  } 
  class Child extends Parent { 
  } 
 下述哪些方法可以加入类Child?

A int addValue( int a, int b ){// do something...}

B public void addValue (int a, int b ){// do something...}

C public int addValue( int a ){// do something...}

D public int addValue( int a, int b )throws MyException {//do something...}

答案为C。A重写,不能变的更私有B.重写不合格,返回类型不一样C。重载。D.错误的,子类重写不能比父类抛出更多的异常

15.

答案B::f1 B::f1.

在这里B中的f1不是virtual,所以在这里没有形成覆盖。有覆盖才能多态。而多态只有引用和指针才可以实现。

在本题中,f1不是virtual, rb2静态类型是B  ,因此调用的就是基类的f1()。无论写成rb2=d还是&rb2=d,调用的都是基类的f1(),因为没有形成覆盖和多态。

16.

答案为D和C。注意这种情况下,Date FirstDay;也可以的。

17.下列代码的输出是?

#include <iostream>


using namespace std;

class A{

public:

    A(int x):a(x) {++c;a+=1;}

    virtual void s() const {

        cout << c << '_' << a << endl;

    }

protected:

    static int c;

private:

    int a;

};

class B:public A {

public:

    B(int x, int y):A(x),b(y) {++c; b+=10;}

    virtual void s() const {

        cout << c << "_" << b << endl;

        

    }

private:

    int b;

};

结果为2_12。实现了多态。const修饰类的成员函数,可以使函数内不能对任何成员变量修改。不是成员变量可以修改。

18.

下列代码输出为A3.y=3,原因是因为 隐藏!!!!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值