嵌入式软件工程师面试题附答案.docx
- 文档编号:28688557
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:6
- 大小:15.30KB
嵌入式软件工程师面试题附答案.docx
《嵌入式软件工程师面试题附答案.docx》由会员分享,可在线阅读,更多相关《嵌入式软件工程师面试题附答案.docx(6页珍藏版)》请在冰豆网上搜索。
嵌入式软件工程师面试题附答案
嵌入式软件工程师面试题附答案
2016年嵌入式软件工程师面试题(附答案)
1、将一个链表逆序
LinkList^reverse(LinkList*head)
{
LinkList*pl,*p2二NULL,*p3=NULL;
辻(head==XULL|head->next=NULL)
returnhead;
pl=head~>next;
wh订e(pl!
二NULL)
{
p3=pl~>next;
pl-〉next二p2;
p2二pl;
pl二p3;
}
head~>next=p2;
//head二p2;
returnhead;
2、计算一个字节里(byte)里面有多少bit被置1
^include
intcomb(constintc)
{
intcount=0;
inti=0;
intcc=c;
while(i++〈8)
{
if((cc&l)==l)
{
count++;
}
cc=cc»l;
}
returncount;
}
intmainO
{
constintc=0xcf;
printf("%d\n",comb(c));
returnl;
3、在一个字符串中找到可能的最长的子字符串
^include
^include
^include
char*comm8nst:
ring(charshortstring[],charlongstring[])
{
inti,j;
char*substring二malloc(256);
if(strstr(longstring,shortstring)!
=NULL)
returnshortstring;
for(i=strlen(shortstring)T;i>0;i--)
{
for(j=0;j<=strlen(shortstring)-i;j++)
{
memcpy(substring,&shortstring[j],i);
substring[i]=,\0';
if(strstr(longstring,substring)!
=XULL)
:
returnsubstring;
}
}
:
returnNULL;
voidmain(void)
char*strl二"aocdfe";
char*str2二〃pmcdfa";
char*comm8n二NULL;
if(strlen(strl)>strlen(str2))
comman=commanstring(str2,strl);
else
comman=commanstring(strl,str2);
printf(〃thelongestcommanstringis:
%s\n,,>comman);
}
4、字符串转换为整数
^include
^include
voidreverse(chars[])
{//字符串反转
intc,i=0,j;
for(j=strlen(s)~1;i
{c二s[i];
s[i]二s[j];
s[j]=c;
i++;
voidintegerToString(chars[],intn)
{inti二0,sign;
辻((sign=n)<0)//如果是负数,先转成正数
n=~n;
d。
//从个位开始变成字符,直到最高位,最后应该反转
{s[i卄]=n%10+'0‘;
}while((n=n/10)>0);
//如果是负数,补上负号
if(sign<0)
s[i++]二'-’;
s[i]二'\0';〃字符串结束
reverse(s);
}
voidmainO
{intm;
chare[100];
m二215;
IntegerToString(c,m);
printf(?
,integer=%dstring=^os\n,m,c);
}
5、整数转换为字符串
^includeftinclude
intAtoi(charstr[])inti;
intweight二1;//权重
intrtn=0;//用作返回
for(i=strlen(str)-1;i>=0;i--){
rtn+=(str[i]~,O')^weight;//
weight*=10;//增重
}
returnrtn;
}
voidmainO
{
charstr[32];
printf(z,Inputastring:
z/);
gets(str);
printf(〃%d\rT,Atoi(str));
}
6、将一个字符串逆序
^include
^includechar*strconv(char*p)
intlength=strlen(p);char*ptr二p;
char*ptr_l=p+length-l;
while(ptr { chare二*ptr; *ptr二*ptr_l; *ptr_l=c; ++ptr; —ptr_l; } : returnp; } intmain() { charstr[]二"abedef1234"; char*p; p=strconv(str); printf(〃%s",p); : returnl;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 软件工程师 试题 答案