嵌入式培训
达内IT学院
400-996-5531
今天的嵌入式培训带给大家的一份嵌入式面试题,在进入职场之前我们先来实战模拟,这样相信结果不会太差:
题一:
ARM属于( )
[A] RISC架构 [B] CISC架构
题二:
ARM指令集是( )位宽,Thumb指令集是( )位宽的。
[A] 8位 [B] 16位 [C] 32位 [D] 64位
题三:
ARM指令集是( )字节对齐,Thumb指令集是( )字节对齐的
[A] 1 [B] 2 [C] 3 [D] 4
题四:
复位后,ARM处理器处于( )模式,( ) 状态
[A] User [B] SVC [C] System [D] ARM [E] Thumb
题五:
ARM处理器总共( )个寄存器,System模式下使用( )个寄存器,SVC模式下使用( )个寄存器。
[A] 17个 [B] 18个 [C] 32个 [D] 36个 [E] 37个
题六:
简述strcpy sprintf与mencpy的区别
题七:
如何避免“野指针”
题八:
简述指针常量与常量指针区别
题一答案:
A
题二答案:
CB
题三答案:
DB
题四答案:
BD
题五答案:
EAB
题六答案:
三者主要有以下不同之处:
(1)操作对象不同,strcpy的两个操作对象均为字符串,sprintf的操作源对象可以是多种数据类型,目的操作对象是字符串,memcpy 的两个对象就是两个任意可操作的内存地址,并不限于何种数据类型。
(2)执行效率不同,memcpy最高,strcpy次之,sprintf的效率最低。
(3)实现功能不同,strcpy主要实现字符串变量间的拷贝,sprintf主要实现其他数据类型格式到字符串的转化,memcpy主要是内存块间的拷贝。
说明:strcpy、sprintf与memcpy都可以实现拷贝的功能,但是针对的对象不同,根据实际需求,来选择合适的函数实现拷贝功能。
题七答案:
“野指针”产生原因及解决办法如下:
(1)指针变量声明时没有被初始化。解决办法:指针声明时初始化,可以是具体的地址值,也可让它指向NULL。
(2)指针 p 被 free 或者 delete 之后,没有置为 NULL。解决办法:指针指向的内存空间被释放后指针应该指向NULL。
(3)指针操作超越了变量的作用范围。解决办法:在变量的作用域结束前释放掉变量的地址空间并且让指针指向NULL。
注意:“野指针”的解决方法也是编程规范的基本原则,平时使用指针时一定要避免产生“野指针”,在使用指针前一定要检验指针的合法性。
题八答案:
指针常量是指定义了一个指针,这个指针的值只能在定义时初始化,其他地方不能改变。其实指针常量是唯一的,即NULL;常量指针是指定义了一个指针,这个指针指向一个只读的对象,不能通过常量指针来改变这个对象的值。
指针常量强调的是指针的不可改变性,而常量指针强调的是指针对其所指对象的不可改变性。
注意:无论是指针常量还是常量指针,其最大的用途就是作为函数的形式参数,保证实参在被调用函数中的不可改变特性。
以上的嵌入式面试题您都做完、核对完答案了吗?做的怎么样呢?有没有不会的呢?赶紧查漏补缺吧!如果您还有嵌入式相关的问题,欢迎您来达内嵌入式培训机构进行咨询!
免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved