嵌入式软件工程师笔试题

上传人:ni****g 文档编号:486905225 上传时间:2023-01-12 格式:DOC 页数:21 大小:531.50KB
返回 下载 相关 举报
嵌入式软件工程师笔试题_第1页
第1页 / 共21页
嵌入式软件工程师笔试题_第2页
第2页 / 共21页
嵌入式软件工程师笔试题_第3页
第3页 / 共21页
嵌入式软件工程师笔试题_第4页
第4页 / 共21页
嵌入式软件工程师笔试题_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《嵌入式软件工程师笔试题》由会员分享,可在线阅读,更多相关《嵌入式软件工程师笔试题(21页珍藏版)》请在金锄头文库上搜索。

1、.(一)1 什么是预编译,何时需要预编译:答案:、总是使用不经常改动的大型代码体。、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。2 char * const pchar const * pconst char *p上述三个有什么区别?答案:char * const p; /常量指针, p 的值不可以修改char const * p;/ 指向常量的指针,指向的常量值不可以改const char *p; / 和 charconst *p3char str1 = abc;char str2 = abc;const cha

2、r str3 = abc;const char str4 = abc;const char *str5 = abc;const char *str6 = abc;char *str7 = abc;char *str8 = abc;cout ( str1 = str2 ) endl;cout ( str3 = str4 ) endl;cout ( str5 = str6 ) endl;out ( str7 = str8 ) endl;结果是: 0011str1,str2,str3,str4是数组变量,它们有各自的内存空间;而str5,str6,str7,str8是指针,它们指向相同的常量区域。4

3、 以下代码中的两个sizeof 用法有问题吗?C 易void UpperCase( char str )/将 str 中的小写字母转换成大写字母 for( size_t i=0; i sizeof(str)/sizeof(str0); +i ) if( a =stri & stri =z )stri -= (a-A );char str = aBcDe;cout str 字符长度为 : sizeof(str)/sizeof(str0) endl; UpperCase( str );cout str (Y)?(Y):(X)/ 结尾没有;10 嵌入式系统中经常要用到无限循环,你怎么用C 编写死循环

4、?答案: while(1)或者 for(;)11 关键字 static的作用是什么?答案:定义静态变量或 静态函数12 关键字 const有什么含意?答案:表示常量不可以修改的变量。13 关键字 volatile有什么含意?并举出三个不同的例子?答案:提示编译器对象的值可能在编译器未监测到的情况下改变。( 1)并行设备的硬件寄存器(如状态寄存器)( 2)中断函数中会访问到的非自动变量( 3)多线程应用中被几个任务共享的变量14int (*s10)(int)表示的是什么啊?答案: int (*s10)(int)函数指针数组,每个指针指向一个int func(int param)的函数。15 有以

5、下表达式:int a=248, b=4;int const c=21;const int *d=&a;int *const e=&b;int const *f const =&a;请问下列表达式哪些会被编译器禁止?为什么?答案: *c=32;d=&b;*d=43;e=34;e=&a;f=0x321f;*c这是个什么东东,禁止*d说了是 const , 禁止e = &a说了是 const禁止const *f const =&a;禁止16 交换两个变量的值,不使用第三个变量。即a=3,b=5,交换之后a=5,b=3;答案:有两种解法, 一种用算术算法, 一种用 ( 异或 ) 。 a = a + b

6、; b = a - b; a = a - b;或者a = ab;/只能对 int,char. b = ab; a = ab; or a = b = a;17 c 和 c+ 中的 struct 有什么不同?答案:c 和 c+ 中 struct 的主要区别是c 中的 struct 不可以含有成员函数, 而 c+ 中的 struct可以。 c+ 中 struct和 class 的主要区别在于默认的存取权限不同,struct默认为 public,而 class 默认为 private18.#include #include void getmemory(char *p)专业资料.p=(char *)

7、malloc(100);strcpy(p,hello world);int main( )char *str=NULL;getmemory(str);printf(%s/n,str);free(str);return 0;答案:程序崩溃, getmemory 中的 malloc 不能返回动态内存, free ()对 str 操作很危险19char szstr10;strcpy(szstr,0123456789);产生什么结果?为什么?答案:长度不一样,会造成非法的OS20 列举几种进程的同步机制,并比较其优缺点答案:原子操作信号量机制自旋锁管程,会合,分布式系统21. 进程之间通信的途径答案:

8、共享存储系统消息传递系统管道:以文件系统为基础22. 进程死锁的原因答案:资源竞争及进程推进顺序非法23. 死锁的 4 个必要条件答案:互斥、请求保持、不可剥夺、环路24. 死锁的处理答案:鸵鸟策略、预防策略、避免策略、检测与解除死锁25. 操作系统中进程调度策略有哪几种?答案: FCFS(先来先服务 ),优先级,时间片轮转,多级反馈26. 类的静态成员和非静态成员有何区别?答案:类的静态成员每个类只有一个,非静态成员每个对象一个27. 纯虚函数如何定义?使用时应注意什么?答案: virtual void f()=0;是接口,子类必须要实现专业资料.28. 数组和链表的区别答案:数组:数据顺序存储,固定大小连表:数据可以随机存储,大小可动态改变29.ISO 的七层模型是什么?tcp/udp是属于哪一层?tcp/udp有何优缺点?答案:应用层表示层会话层传输层网络层链路层物理层;tcp /udp属于传输层;TCP 服务提供了数据流传输、可靠性、有效流控制、 全双工操作和多路复用技术等。与 TCP不同,UDP 并不提供对IP 协议的可靠机制、流控制以及错误恢复功能等。由于UDP 比较简单,UDP 头包含很少的字节,比TCP 负载消耗少。tc

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 演讲稿/致辞

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号