2012校招MTK笔试总结

  • 格式:docx
  • 大小:16.66 KB
  • 文档页数:3

I.必做题
一.选择题
1, 答案:
int constr(char var[])
{
return (sizeof(var));
}
main()
{
char str[20]="0123456789"; char war[10];
printf("%d %d %d ",strlen(str),sizeof(str),constr(war));
}
2. 答案:
main()
{
int a[5]={1,2,3,4,5};
int *ptr=(int *) (&a+1);
printf("%d %d",*(a+1),*(prt-1));
}
3. 答案:
main()
{
int i=3;int j;
j=sizeof(++i + ++i);
pritf("i=%d j=%d",i,j);
}
4.答案:
main()
{
int *p; p=(int *)0;
printf("%d %d ", ++p,++p);
}
5. int i=(short)0x8000; i的值为多少
二.简答题
1.Static的作用。

至少两点
①函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分
配一次,因此其值在下次调用时仍维持上次的值。

②在模块内的static全局变量可以被模块内所有函数访问,但不能被模块外其他函数访问。

③在模块内的static函数只可被这一模块内的其他函数调用,这个函数的使用范围被限制在声明它的模块内。

④在类中的static成员变量属于整个类所拥有,对类的所有对象只有一份拷贝。

⑤在类中的static成员函数属于整个类的所拥有,这个函数不接收this指针,因而只能访问类的static成员变量。

2.写出四种排序算法,及其时间复杂度。

3.程序题指出函数功能
Swap( int *p1,int *p2)
{
Int * p;
*p=*p1;
*p1=*p2;
*p2=*p;
}
4.程序-写出函数运行结果,在windows32=====266
Unin{
Int i;
Char x[2];
}a;
Main()
{
a.x[0]=10; a.x[1]=1;
printf(“%d”,a.i);
}
三.编程题
1. 用C语言和递归算法实现。

从M个不同的字符中任意取出N个字符进行组合(N<M)。

比如”AFEDA”取出三个任意组合的到---。

给出字符串“ABCDEF”,假如取3个字符任意组合,输出
ABC ABD ABE ABF BCD BCE BCF CDE CDF DEF
2.写出一个函数jugde(char * parentfile,char *childfile) 判断childfile文件是否在parentfile 目录下面?
II嵌入式加无线通信—部分
一.嵌入式系统简答题
1.Struct union enum 的区别。

2.什么是大端模式(big-endian)什么是小端模式(little-endian)?
3.全局变量和局部变量在存储方式上有什么区别
4.已知单向链表的头指针head,请写出一个函数将此单向链表A->B->C->D 逆序,逆序后位D->C->B->A。

5.给出一个32位的数据,尽量写出判断只有一个bit为1的方法。

6.中断与异常的区别。

7.多进程和多线程的区别。

8.说明什么是优先级反转的问题。

9.Cashe和MMU分别有什么作用
10. 写两段代码分别对变量的a的bit3位进行置位,和清零。

不影响其他位。

二.无线通信简答题
1.简述,Hub/switch/route路由的区别和作用
2.TCP滑动窗口的工作原理与作用
3. 简述OFDM的优点和缺点。

4. TDD-LTE与FDD-LTE的区别
5.某基站发射功率为39.5w,基站发送天线增益为17dbi,信号传输损耗为170db,移动台接收天线的增益为7dbi,请问移动台收到的信号为多少db。