小猿圈之嵌入式软件工程师面试题(内含答案)

最近小猿圈加加整理出一套关于嵌入式的面试题,嵌入式的前景还是相当不错的,面对找工作的朋友们,在面试之前,最好做做面试题,不打没把握的仗,如果做得时候针对哪一部分有问题,可以去小猿圈好好学习一下这部分的内容。

一、填空题

1、c语言中,下列运算符优先级高的是( a )

A、! B、% C、>> D、==

2、执行语句"k=7>>1"后,变量k的当前值是( c )

A、15 B、31 C、3 D、1

3、定义函数时,缺省函数的类型声明,则函数类型取缺省类型( d )

A、void B、char C、float D、int

4、下列各个错误中,哪一个不属于编译错误 ( a )

A.改变 x 原值 3 为 5 ,写作“ x==5 ;”

 B.花括号不配对

C.复合语句中的后一条语句后未加分号

D.变量有引用、无定义

5、下列程序段运行后, x 的值是( a)

 a=1;b=2;x=0;

if(!( — a))x — ;

if(!b)x=7;

else ++x;

A.0  B.3   C.6  D.7

二、解答题

1、有1-10000个连续的整数,现从中删除两个数然后打乱,如何快速的找到删除的这两个数是什么?

----使用二分法,把>5000的数分一组,计算是否有5000个数,如果没有取中间数接着划分比较,如果有则在1-5000中继续取中计算大小是否有相应的大小,可以很快的找到这两个数。

2、有粗细不同的绳子,假设每根绳子烧完的时间都是一个小时,至少需要几根绳子才能计算45分钟?(只允许做点燃操作)

两根

将1号两头同时点燃同时把2号一头点燃,当1号烧完时点燃2号的另一头,等2号烧完就是45分钟。

3、给定一个整型变量a,写两段代码,第一个设置a的bit3,第二个清除a的bit,在以上两个操作中,要保持其它位不变。

define BIT3 (0x1<<3)
  static int a;
  void set_bit3(void)
  {
   a |= BIT3;
  }
  void clear_bit3(void)
  {
   a &= ~BIT3;
  }
复制代码

4、int main()
{
int j=2;
int i=1;
if(i = 1) j=3;
if(i = 2) j=5;
printf("%d",j);
}
复制代码

输出为5;如果再加上if(i=3)j=6;则输出6。

5、字符串倒序

inverted_order(char *p)
{
char *s1,*s2,tem;
s1=p;
s2=s1+strlen(p)-1;
while(s1<s2)
{
tem=*s1;
*s1=*s2;
*s2=tem;
s1++;
s2--;
}
  }
复制代码

以上就是小编在网上做了很多面试题后,总结出来的经典嵌入式面试题,如果你正在面临找工作,恰好你也看到了小编的面试题,那一定要好好做一遍,针对哪一块有问题,可以来小猿圈探索一下,望你做好的准备去迎接面试,祝面试成功!


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值