**
阿里巴巴2018实习生招聘 练习题
**
1.平均速度最快的排序算法是?
答案:快速排序
解析:平均复杂度O(nlog(n))
2.已有变量定义和函数调用语句,
int a=25;
print_value(&a);
则下面函数的正确输出结果是______。
void print_value(int* x)
{
printf(“%x\n”,++*x);
}
答案:1a
解析:%x以十六进制显示
3.下面所述步骤中,不是创建进程所必须的步骤是?
A由调度程序为进程分配CPU
解析:创建进程所必需的步骤:
①申请空白PCB(进程控制块);
②为新进程分派资源;
③初始化PCB;
④将新进程插入就绪队列;
4.假定x=500,求下面函数的返回值______ 。
int fun(int x)
{
int countx = 0;
while (x)
{
countx++;
x = x & (x – 1);
}
return countx;
}
答案:6
解析:x = x&(x-1),每次运行都会让x的二进制表示少一个1,答案就是500的二进制表示包含多少个1
5.10个相同的糖果