2022年嵌入式C语言面试题 .pdf
《2022年嵌入式C语言面试题 .pdf》由会员分享,可在线阅读,更多相关《2022年嵌入式C语言面试题 .pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 读程序段,回答问题1.intmain(intargc,char*argv)2.3.intc=9,d=0;4.c=c+%5;5.d=c;6.printf(d=%dn,d);7.return0;8.复制代码a) 写出程序输出b) 在一个可移植的系统中这种表达式是否存在风险?why?1.#includestdio.h2.inta=0;3.intb;4.staticcharc;5.intmain(intargc,char*argv)6.7.chard=4;8.staticshorte;9.a+;10.b=100;11.c=(char)+a;12.e=(+d)+;13.printf(a=%d,b=%
2、d,c=%d,d= %d, e=%d,a,b,c,d,e);14.return0;15.复制代码a) 写出程序输出b) 编译器如果安排各个变量(a,b,c,d) 在内存中的布局(eg. stack,heap,datasection,bsssection), 最好用图形方式描述。2 中断是嵌入式系统中重要的组成部分,这导致了许多编译开发商提供一种扩展:让标准 C支持中断, 产生了一个新的关键字_interrupt 。下面的代码就使用了_interrupt关键字去定义了一个中断服务子程序(ISR), 请评论以下这段代码。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - -
3、- - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 1._interruptdoublecompute_area(doubleradius)2.3.doublearea= PI* radius*radius;4.printf(nArea= %f,area);5.returnarea;6.复制代码3 C/C+ 基础知识问题a) 关键字 volatile 在编译时有什么含义?并给出三个不同使用场景的例子(可以伪代码或者文字描述 )。b) C 语言中 static 关键字的具体作用有哪些?c) 请问下面三种变量声明
4、有何区别?请给出具体含义1.intconst*p;2.int*constp;3.intconst*constp;复制代码4 嵌入式系统相关问题a) 对于整形变量A=0 x12345678,请画出在little endian 及 big endian 的方式下在内存中是如何存储的。b) 在 ARM 系统中,函数调用的时候,参数是通过哪种方式传递的?c) 中断 (interrupt, 如键盘中断 )与异常 (exception, 如除零异常 )有何区别 ?5 设周期性任务P1,P2,P3 的周期为T1,T2,T3 分别为 100,150,400;执行时间分别为20,40,100。请设计一种调度算法
5、进行任务调度,满足任务执行周期及任务周期。6 优先级反转问题在嵌入式系统中是一中严重的问题,必须给与足够重视。a) 首先请解释优先级反转问题b) 很多RTOS 提供优先级继承策略(Priorityinheritance) 和优先级天花板策略(Priorityceilings) 用来解决优先级反转问题,请讨论这两种策略。参考答案 :1 5存在风险,因为c=c+%5; 这个表达式对c 有两次修改,行为未定义,c 的值不确定int a=0; / data sectionint b;/ data sectionstatic char c; / BSSint main(intargc,char*argv
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年嵌入式C语言面试题 2022 嵌入式 语言 试题
限制150内