9年联发科技手机软件开发笔试题.docx
- 文档编号:30320665
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:6
- 大小:15.88KB
9年联发科技手机软件开发笔试题.docx
《9年联发科技手机软件开发笔试题.docx》由会员分享,可在线阅读,更多相关《9年联发科技手机软件开发笔试题.docx(6页珍藏版)》请在冰豆网上搜索。
9年联发科技手机软件开发笔试题
9年联发科技手机软件开发笔试题
一:
编程题(每题20分,共40分)
1:
编写两个函数,接口如下:
第一个负责把一个ASCII字符串转换为一个带符号整数,第二个函数负责把一个带符号的整数转换为一个ASCII字符串。
(1) intStrToInt(c*****tchar*pStr);
解答:
#include<>
#include""
#include<>
intStrToInt(c*****tchar*pStr)
{
intiResult=0;
boolbMinus=false;
intitemp=0;
inti=0;
if(*(pStr+i)=='-')
{
bMinus=true;
i++;
}
do
{
itemp=*(pStr+i)-0x30;
iResult=iResult*10+itemp;
i++;
}while(*(pStr+i)!
='\0');
if(bMinus==true)
iResult=0-iResult;
returniResult;
}
intmain()
{
chars[]="-456789";
intiNum=StrToInt((char*)s);
printf("%d\n",iNum);
}
(2) intIntToStr(intnum,char*pStr);
已知条件:
传递给IntToStr函数的缓冲区的长度是能够容纳int整数范围内的数;传递给StrToInt的字符串只包含数字和‘-’(负号),是一个格式正确的整数值。
2:
编程实现二分法搜索函数,该函数对一个排序好的整数数组进行二分搜索(binarySearch),函数的原型如下:
IntBinarySearch(c*****tint*array,intlower,intupper,inttarget);
其中lower、upper分别是需要进行搜索的开始和结束的索引值,请分别使用递归和非递归两种方法实现该函数。
二:
问答题(每题6分,10题,共60分)
1:
下面这个程序执行后会有什么错误或者效果
#defineMAX255
intmain(void)
{
unsignedcharI;
unsignedcharA[MAX];
for(i=0;i<=MAX;i++)
{
A =i;
}
Return0;
}
2:
在32位小端字节序系统里,
chararray[16]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
char*cp=array;
int*ip=(int*)array;
问:
(1)*(cp+2)=?
(2)*(ip+2)=?
3:
c是一个char类型的变量,c的取值范围是多少如果c的值是0xF0,那么c>>3=请给出10进制的答案。
4:
调用函数时,请列举不使用函数原型潜在的风险。
5:
下面函数实现有问题吗如果有问题,实际运行中调用下面函数结果正确,并没有出现问题,为什么?
intExchangeValue(int*pa,int*pb)
{
int*pt;
if(pa==NULL||pb==NULL)
return0;
*pt=*pa;
*pa=*pb;
*pb=*pt;
return1;
}
6:
inti1;
C*****tchar*p1=“AAA”;
intmain()
{
staticinti2;
inti3;
int*i4=malloc(sizeof(int));
。
。
。
。
。
。
}
上面程序中的变量(i1,p1,i2,i3,i4)分别存在于哪些内存存贮位置(数据段、堆栈或队)?
i1,i2,i3,*i4的值是什么?
7:
下面哪组语句没有编译和运行的错误如果有错误的组,请说明哪些语句是错误的,为什么?
A. c*****tinta;
(1)
B. char*pa=“AAA”
(1)
c*****tchar*pb=“BBB”;
(2)
pb=pa;(3)
C.char*pa=“AAA”;
(1)
Char*c*****tpb=“BBB”;
(2)
Char*c*****tpc=(char*)malloc(4);(3)
*pb=‘A’;(4)
*(pc+1)=‘A’;(5)
Pb=pa; (6)
D.char*pa;
(1)
c*****tchar*c*****tpb=”BBB”;
(2)
char*c*****tpc;(3)
pa=“AAA”;(4)
pc=pa;(5)
8:
用变量a给出下面的定义:
举例一个整型数 inta;
(1) 一个指向指针的指针,它指向的指针是指向一个整型数int**p
(2) 一个有10个整型数的数组int*p[10]
(3) 一个有10个指针的数组,该指针是指向一个整型数int**a[10]
(4) 一个指向有10个整型数组的指针int*a[10][]
(5) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数
int*a(int)
(6) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数int**a[10](int)
9:
请编写一个函数,将2个16位有符号数分别放入一个32位有符号数的高16位和低16位,请不要使用函数的返回值传递数据。
10:
下面是一个用来删除单向链表头节点的函数,请找出其中程序的漏洞并加以纠正。
voidRemoveHead(node*head)
{
free(head); /*Line1*/
head=head->next; /Line2*/
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 年联发 科技 手机软件 开发 笔试