c语言基础 嵌入式笔试题 面经

1.预处理&关键字(22道) 

1.1宏定义是在编译的哪个阶段被处理的?

答案:宏定义是在编译预处理阶段被处理的。 

解读:编译预处理:头文件包含、宏替换、条件编译、去除注释、添加行号。 

1.2写一个" 标准" MIN ,这个宏输入两个参数并返回较小的一个。

答案:

#define  MIN(
            A, B)  ((A) <= (B)? (
                A) : (B))   

解读:

(1)注意这个题目要用三重条件操作符,在宏中要小心地把参数用括号括起来,并且整个宏也要用括号括起来,防止替换时出现错误。 

(2)注意若写"least = MIN(*p++, b);"这句代码会产生副作用,将*p++代入宏体,指针p会做两次自增操作。 


1.3已知数组table ,用宏求数组元素个数。

答案:

#
            define  COUNT(table)  (sizeof(
                table/ sizeof(table[
                    0]))  

解读:sizeof(table)得到数组长度,sizeof(table[0])得到数组元素长度,两者相除即可得到数组元素个数。 


1.4带参宏和函数的区别?

(1)带参宏只是在编译预处理阶段进行简单的字符替换;而函数则是在运行时进行调用和返回。 

(2)宏替换不占运行时间,只占编译时间;而函数调用则占运行时间(分配单元、保留现      场、值传递、返回)。 

(3)带参宏在处理时不分配内存;而函数调用会分配临时内存。 

(4)宏不存在类型问题,宏名无类型,它的参数也是无类型的;而函数中的实参和形参都要定义类型,二者的类型要求一致。 

(5)而使用宏定义次数多时,宏替换后源程序会变长;而函数调用不使源程序变长。 

1.5内联函数的优缺点和适用场景是什么?

(1)优点:内联函数与宏定义一样会在原地展开,省去了函数调用开销,同时又能做类型检查。 

(2)缺点:它会使程序的代码量增大,消耗更多内存空间。 

(3)适用场景:函数体内没有循环(执行时间短)且代码简短(占用内存空间小)。 

1.6关键字volatile 的作用是什么?给出三个不同的例子。
(1)作用:告诉编译器不要去假设(优化)这个变量的值,因为这个变量可能会被意想不到地改变。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。 
(2)例子: 

①并行设备的硬件寄存器(如:状态寄存器)。 

②一个中断服务子程序中会访问到的非自动变量。 

③多线程应用中被几个线程共享的变量(防止死锁)。 



以上内容摘自专刊《嵌入式岗位笔试面试真题讲解》,该专刊不仅有真题讲解,还有经验分享,不清楚嵌入式该学什么的同学,想找嵌入式实习/正式工作的同学,都可以来看看:              


嵌入式推荐公司:华为、    小米     OPPO、VIVO、荣耀、一加、     CVTE、 大疆 、insta360影石、      美的 、 TCL    、 海信、创维、烽火、比亚迪    、吉利、长安、大众、经纬恒润 、小鹏、    图森未来、 百度 、     滴滴、蔚来、理想、 联发科、 紫光展锐 、全志、     寒武纪 、晶晨半导体 、汇顶、     华为、     中兴、    浪潮 、TP-LINK、讯飞、商汤、     海康威视 、浙江大华      、360、小马智行、元戎启行    、深信服      、移动、联通、电信、旷视     四维图新      中芯国际      、复旦微电子、极氪


QSWp7XkShEuNKArT7CnOKHBIhjGLeBcP.jpg
#嵌入式##嵌入式开发工程师##c##面经##笔试题#
全部评论
春招这么快就面试了吗
点赞 回复 分享
发布于 2024-01-17 23:28 广东

相关推荐

2025-12-12 19:01
南京航空航天大学 C++
秋招没咋投,准备&nbsp;wxg&nbsp;转正之后摆烂了。结果不堪字节&nbsp;HR&nbsp;的骚扰还是面了一下字节。之前想去字节的时候怎么面都挂。现在想着随便面一下结果三面技术面都意外顺利还有加面。十月中旬字节发了意向,wxg&nbsp;转正结果无响应。十月底字节拉了保温群,wxg&nbsp;口头通过,系统显示考核中。十一月初和字节&nbsp;ld&nbsp;交流之后得知&nbsp;base&nbsp;居然能选海外,甚至能小&nbsp;wlb&nbsp;一下,wxg&nbsp;无响应无人联系。十一月中旬把字节&nbsp;base&nbsp;转到了海外,wxg&nbsp;流程灰了,一问超时忘处理了,过两天又变考核中了。十一月下旬字节换了海外&nbsp;HR&nbsp;对接,问了期望薪资,wxg&nbsp;考核终于显示通过,无&nbsp;HR&nbsp;保温,无其他保温。十一月底给字节报了个天价,想吓吓他们,同时告诉微信字节要开了,微信无响应。同样十一月底字节&nbsp;HR&nbsp;告诉我确实给不到那么高,但是能拿期权补上,问能不能接受。微信无响应。同样十一月底字节&nbsp;HR&nbsp;告知了具体方案,符合预期。&nbsp;微信无响应。十二月上旬催&nbsp;wxg&nbsp;不开我就盲拒了,wxg&nbsp;HR&nbsp;火急火燎的打电话问情况,问期望。我给了一个不算夸张的总包数字,因为今年市场在涨,过了三天还不联系我,我再催,约时间下午打电话,非得在我给出的数字上压下去几万,微信又不差这点,为什么不能满足我,让我没有拒绝的理由呢?一番纠结抗争,求稳还是追求挑战,最终选择接受迎接新的挑战,因为堂吉诃德永远不会停下脚步!回想起来,在&nbsp;wxg&nbsp;谈薪的阶段,我认为并没有给予我一定的重视,即使&nbsp;HR&nbsp;表示我在实习期间的表现和之前的面评都很靠前。也没有感觉到想要争取我,虽然我表示拒了&nbsp;offer&nbsp;之后要给我加面委定&nbsp;t6&nbsp;再涨,但我三个月没面试让我面面委那就是白给,还是算了。有缘再见了我亲爱的&nbsp;wxg,再见了曾经的梦中情厂,再见亲爱的&nbsp;mt,再见亲爱的朋友们。也再见,北京的一切。我想润了。秋招结束,卸载牛客,下一个三年,下一个五年,下一个十年后再来看看。
面试中的大熊猫爱吃薯...:我嫉妒得狗眼通红
点赞 评论 收藏
分享
评论
16
107
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务