亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

嵌入式軟件工程師面試題附答案

時間:2020-09-24 13:00:17 嵌入式培訓(xùn) 我要投稿

2016年嵌入式軟件工程師面試題(附答案)

  嵌入式軟件工程師主要從事嵌入式軟件開發(fā)工作。涉及應(yīng)用層以及底層軟件開發(fā)和設(shè)計工作。下面YJBYS小編為大家整理了關(guān)于2016嵌入式軟件工程師面試題,希望對你有所幫助。

2016年嵌入式軟件工程師面試題(附答案)

  1、將一個鏈表逆序

  LinkList *reverse(LinkList *head)

  {

  LinkList *p1,*p2 = NULL,*p3 = NULL;

  if(head == NULL || head->next == NULL)

  return head;

  p1 = head->next;

  while(p1!=NULL)

  {

  p3 = p1->next;

  p1->next = p2;

  p2 = p1;

  p1 = p3;

  }

  head->next = p2;

  // head = p2;

  return head;

  }

  2、計算一個字節(jié)里(byte)里面有多少bit被置1

  #include

  int comb(const int c)

  {

  int count = 0;

  int i = 0;

  int cc = c;

  while(i++<8)

  {

  if((cc&1)==1)

  {

  count++;

  }

  cc = cc>>1;

  }

  return count;

  }

  int main()

  {

  const int c = 0xcf;

  printf("%d\n",comb(c));

  return 1;

  }

  3、在一個字符串中找到可能的最長的子字符串

  #include

  #include

  #include

  char *commanstring(char shortstring[],char longstring[])

  {

  int i,j;

  char *substring = malloc(256);

  if(strstr(longstring,shortstring)!=NULL)

  return shortstring;

  for(i=strlen(shortstring)-1;i>0;i--)

  {

  for(j=0;j<=strlen(shortstring)-i;j++)

  {

  memcpy(substring,&shortstring[j],i);

  substring[i]='\0';

  if(strstr(longstring,substring)!=NULL)

  return substring;

  }

  }

  return NULL;

  }

  void main(void)

  {

  char *str1 = "aocdfe";

  char *str2 = "pmcdfa";

  char *comman = NULL;

  if(strlen(str1)>strlen(str2))

  comman= commanstring(str2,str1);

  else

  comman = commanstring(str1,str2);

  printf("the longest comman string is:%s\n",comman);

  }

  4、字符串轉(zhuǎn)換為整數(shù)

  #include

  #include

  void reverse(char s[])

  { //字符串反轉(zhuǎn)

  int c, i=0, j;

  for(j=strlen(s)-1;i

  { c=s[i];

  s[i]=s[j];

  s[j]=c;

  i++;

  }

  }

  void IntegerToString(char s[],int n)

  { int i=0,sign;

  if((sign=n)<0)//如果是負(fù)數(shù),先轉(zhuǎn)成正數(shù)

  n=-n;

  do //從個位開始變成字符,直到最高位,最后應(yīng)該反轉(zhuǎn)

  { s[i++]=n%10+'0';

  }while((n=n/10)>0);

  //如果是負(fù)數(shù),補上負(fù)號

  if(sign<0)

  s[i++]='-';

  s[i]='\0';//字符串結(jié)束

  reverse(s);

  }

  void main()

  { int m;

  char c[100];

  m =215;

  IntegerToString(c,m);

  printf("integer = %d string = %s\n", m, c);

  }

  5、整數(shù)轉(zhuǎn)換為字符串

  #include

  #include

  int Atoi(char str[])

  {

  int i;

  int weight = 1; // 權(quán)重

  int rtn = 0; // 用作返回

  for(i = strlen(str) - 1; i >= 0; i--)

  {

  rtn += (str[i] - '0')* weight; //

  weight *= 10; // 增重

  }

  return rtn;

  }

  void main()

  {

  char str[32];

  printf("Input a string :");

  gets(str);

  printf("%d\n", Atoi(str));

  }

  6、將一個字符串逆序

  #include

  #include

  char *strconv(char *p)

  {

  int length = strlen(p);

  char *ptr = p;

  char *ptr_1 = p + length -1;

  while(ptr < ptr_1)

  {

  char c = *ptr;

  *ptr = *ptr_1;

  *ptr_1 = c;

  ++ptr;

  --ptr_1;

  }

  return p;

  }

  int main()

  {

  char str[]="abcdef1234";

  char *p;

  p = strconv(str);

  printf("%s",p);

  return 1;

  }

【2016年嵌入式軟件工程師面試題(附答案)】相關(guān)文章:

嵌入式C語言面試題(附答案)10-27

嵌入式軟件工程師面試題11-16

2016嵌入式軟件開發(fā)工程師面試題10-27

2017年嵌入式軟件面試題06-17

2016嵌入式工程師面試題及答案「精選」10-27

華為嵌入式工程師面試題試題及答案08-02

Linux系統(tǒng)工程師面試題(附答案)08-11

2016年嵌入式工程師面試題及答案「精選」10-27

2017嵌入式軟件工程師筆試題及答案06-21