16道嵌入式C语言面试题.pdfVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
预处 理器(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). 三重条件操作符的知 识 。这个操作符存在 C 语 言中的原因是它使得 编译 器能 产 生比 if- then-else 更 优化的代 码 ,了解这 个用法是很重要的。 3). 懂得在宏中小心地把参数用括号括起来 4). 我也用 这个 问题开 始 讨论 宏的副作用,例如:当你写下面的代 码时 会 发生什 么 事? 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 integer ) d) 一个有 10 个整型数的数 组 An array of 1

文档评论(0)

151****6636 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档