- 1、本文档共80页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2012—2015年嵌入式面试题集锦
预处理器(Preprocessor)
1?.?用预处理指令#define?声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
?????????#define?SECONDS_PER_YEAR?(60?*?60?*?24?*?365)UL
我在这想看到几件事情:
1)?#define?语法的基本知识(例如:不能以分号结束,括号的使用,等等)
2)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。
3)?意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型数。
4)?如果你在你的表达式中用到UL(表示无符号长整型),那么你有了一个好的起点。记住,第一印象很重要。
2?.?写一个标准宏MIN?,这个宏输入两个参数并返回较小的一个。
????????#define?MIN(A,B)?((A)?=?(B)???(A)?:?(B))
这个测试是为下面的目的而设的:
1)?标识#define在宏中应用的基本知识。这是很重要的。因为在??嵌入(inline)操作符?变为标准C的一部分之前,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。
2)?懂得在宏中小心地把参数用括号括起来
3)?我也用这个问题开始讨论宏的副作用,例如:当你写下面的代码时会发生什么事?
????????least?=?MIN(*p++,?b);
3.?预处理器标识#error的目的是什么?
如果你不知道答案,请看参考文献1。这问题对区分一个正常的伙计和一个书呆子是很有用的。只有书呆子才会读C语言课本的附录去找出象这种问题的答案。当然如果你不是在找一个书呆子,那么应试者最好希望自己不要知道答案。
死循环(Infinite?loops)
4.?嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?
这个问题用几个解决方案。我首选的方案是:
while(1)
{
}
一些程序员更喜欢如下方案:
for(;;)
{
}
这个实现方式让我为难,因为这个语法没有确切表达到底怎么回事。如果一个应试者给出这个作为方案,我将用这个作为一个机会去探究他们这样做的基本原理。如果他们的基本答案是:我被教着这样做,但从没有想到过为什么。这会给我留下一个坏印象。
第三个方案是用?goto
Loop:
...
goto?Loop;
应试者如给出上面的方案,这说明或者他是一个汇编语言程序员(这也许是好事)或者他是一个想进入新领域的BASIC/FORTRAN程序员。
数据声明(Data?declarations)
5.?用变量a给出下面的定义
a)?一个整型数(An?integer)
b)一个指向整型数的指针(?A?pointer?to?an?integer)
c)一个指向指针的的指针,它指向的指针是指向一个整型数(?A?pointer?to?a?pointer?to?an?intege)r
d)一个有10个整型数的数组(?An?array?of?10?integers)
e)?一个有10个指针的数组,该指针是指向一个整型数的。(An?array?of?10?pointers?to?integers)
f)?一个指向有10个整型数数组的指针(?A?pointer?to?an?array?of?10?integers)
g)?一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A?pointer?to?a?function?that?takes?an?integer?as?an?argument?and?returns?an?integer)
h) ?一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数 (?An?array?of?ten?pointers?to?functions?that?take?an?integer?argument?and?return?an?integer?)
答案是:
a)?int?a;?//?An?integer
b)?int?*a;?//?A?pointer?to?an?integer
c)?int?**a;?//?A?pointer?to?a?pointer?to?an?integer
d)?int?a[10];?//?An?array?of?10?integers
e)?int?*a[10];?//?An?array?of?10?pointers?to?integers
f)?int?(*a)[10];?//?A?pointer?to?an?array?of?10?integers
g)?int?(*a)(int);?//?A?pointer?to?a?func
您可能关注的文档
- 2012-2013学年度初二级地理第二学期期中试卷.doc
- 2012-2013学年度第二学期阶段性检测试题七年级地理及答案.doc
- 2012-2013学年度五年级第二学期期末测试卷1(北师大版)含答案.doc
- 2012-2013学年第二学期林启恩纪念中学高二第二次段考语文试题.doc
- 2012-2013学年第二学期八年级语文期末考试卷3.doc
- 2012-2013语文二(下)期末复习(看音写词、选音).doc
- 2012-2013第二学期小学语文三年级(下册)期末试卷.doc
- 2012.10.15高3语文“3校生”试卷.doc
- 2012-2013高一语文期中试卷.doc
- 2012-2013学年第二学期高一语文周测题1(第2周)(教师版).doc
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)