2014阿里巴巴实习生笔试题目(答案 )
2.64位系统上,定义的变量int *a[2][3]占据的——字节
A 4B 12 C 24D 48
参考答案 D
char *a;
long long *a;
long long *a[2][3];
printf("%d\n",sizeof(a));
输出:4,4,24
32位机指针为四个字节。64位机指针为八字节。
管是32位还是64位,int总是4字节。
9.有以下程序,其执行结果是___
char fun(char x, char y)
{
if(x) return y;
}
int main()
{
int a = '0', b = '1', c = '2';
printf("%c\n", fun(fun(a,b), fun(b,c)));
}
A、函数调用出错B、2C、0D、1
参考答案 B
\0是C++中字符串的结尾标志,存储在字符串的结尾,对应的ASCII为0
11.在一台主流配置的PC机上,调用f(35)所需要的时间大概是——
int f(int x)
{
int s = 0;
while(x-->0)s+=f(x);
return max(s, 1);
}
A、几毫秒B、几秒 C、几分钟D、几小时
参考答案 D
说明:计算结果是2^35,程序跑了很多次递归。具体执行过程一时说不清楚。。。
16.一天,有位年轻人来到张老板店花80元买了件原价160元的纪念品。这件礼物成本65元。结账时,年轻人掏出100元,张老板当时没有零钱,就用那100元向隔壁店家换了零钱,找给年轻人20.但是隔壁店家后来发现那100是假钱,张老板无奈还了100元。那么张老板在这次交易中损失了多少钱——
A、65B、85 C、100D、185
参考答案 B
说明:以年轻人的角度想,给了一张假钱,价值为0,得到了65元的衣服,和找回的20元,总共获利85元;以隔壁店家角度想,自己虽然得到一张假钱,但是后来张老板又补回来了,不进不出;以张老板的角度想,衣服给出去了,又把零钱找给别人了,共亏了85.
20.某国家非常重男轻女,若一户人家生了一个女孩,便再要一个,直到生下男孩为止。假设生男生女概率相等,问平均每户有几个女孩
A、 0.5B、2/3C、1D、4/3
参考答案 C
解析:计算期望值
0 1 2 3 4 ……n
0.5 o.5^2 o.5^3 0.5^4 o.5^5 ……0.5^n
结果1
第二种思路是,在这里是没有人工干预的,生男生女的概率又是相等的,说明每家都会有一个男孩,则平均每家也可以有一个女孩。
24.有3个包,每个包里各放了两个球。包A里的球都是白色的,包B里的球都是黑色的,包C里的球一黑一白。现随机取一个包,并从中随机取一个球。发现该球是白色的。那么这个包里剩下的球也是白色的概率是——
A、0B、0.33 C、0.5D、0.66 E、1
参考答案 D
说明:首先包B排除了,A里的白球编号为1白和2白。现在模拟取球过程,有3种情况,A包1白2白,A包2白1白,C包先白后黑。可知剩下的球也是白色的概率为2/3.
解法2:首先包B排除,取出的这个白球来自包A的概率是2/3,来自包C的概率是1/3,再取一个白球2/3*1+1/3*0