嵌入式软件开发面试笔试题

上传人:鲁** 文档编号:558502243 上传时间:2023-04-24 格式:DOCX 页数:14 大小:32.43KB
返回 下载 相关 举报
嵌入式软件开发面试笔试题_第1页
第1页 / 共14页
嵌入式软件开发面试笔试题_第2页
第2页 / 共14页
嵌入式软件开发面试笔试题_第3页
第3页 / 共14页
嵌入式软件开发面试笔试题_第4页
第4页 / 共14页
嵌入式软件开发面试笔试题_第5页
第5页 / 共14页
点击查看更多>>
资源描述

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

1、嵌入式软件笔试2# 2# 2#f VJw 叫卜 V r3wVChapterl语法类2# 2# i# 2# 2# frjw rjw rjw ryw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjwrjw rjw g1 .volatile作用?应用场合举3例volatile修饰的变量表示这个变量町能会被意想不到的改变,对该变量的操作将不作优化,用到该变量时都从这个 变量的原始地址读取,而不是用保存在寄存器里的备份。Volatile常用在:1) .硬件寄存器(如:状态寄存器)。2) .中断程序中会访问到的非自动变量(Non-autoniatic variable

2、s)o3) .多线程应用中几个任务共享的变量2. 一个参数既可以是const还可以是volatile吗?解释为什么是的。比如只读的状态寄存器。它是volatile因为它可能被意想不到地改变。它是const因为程序不应该试图去修 改它。3个指针可以是volatile吗?解释为什么。是的。比如一个中断服务子程序修该一个指向一个buffer的指针时。4.用变量a给出下面的定义a) 个整型数b) 个指向整型数的指针c) 一个指向指针的指针,它指向的指针是指 向一个整型数d) 一个有10个整型数的数组e) 一个有10个指针的数组,该指针是指向一个整型数的f) 一个指向有 10个整型数数组的指针g) 个指

3、向函数的指针,该函数有一个整型参数并返回一个整型数h) 个有10个指针的数 组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数a) int a; /An integerb) int *a; / A pointer to an integerc) int *a; / A pointer to a pointer to an integerd) int a10; / An array of 10 integerse) int *(a10); /An array of 10 pointers to integersf) int (*a)10; / A pointer to an array

4、 of 10 integersg) int (*a)(int); / A pointer to a function a that takes an integer argument and returns an integerh) int (*a10) (int); / An array of 10 pointers to functions that take an integer argument and return an integer5什么是存储机制里的大、小端模式?试举例说明人端模式(big-edian): MSE存放在最低端的地址上。举例,双字节数0x1234以big-endi

5、an的方式存在起始地 址0x00002000 中:| data | address|0xl2|- 0x00002000| 0x34 |- 0x00002001在Big-Endian中,对于bit序列中的序号编排方式如下(以双字节数0x8B8A为例):bit|0 1 2 345 6 7 |89 10 11 12 13 14 15MSBLSBval |10001011|10001010|=0x8 B 8 A小端模式(little-endian): LSE存放在最低端的地址上。举例,双字节数0x1234以httle-enduui的方式存在起始地 址0x00002000 中:| data | addr

6、ess| 0x34 |- 0x00002000|0xl2|- 0x00002001在Little-Endian中,对于bit序列中的序号编排和Big-Endiaii刚好相反,其方式如下(以双字节数Ox8B8A为 例):bit | 15 14 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0MSBLSBval |10001011|10001010|=0x8 B 8 A6. 写一段用来判断内存存储方式是大端还是小段的代码。联合体union的存放顺序是所有成员都从低地址开始存放,利用该特性就可以轻松地获得了 CPU对内存采用 Little-endiaii还是Big-endian模式

7、读写。代码如下:mt checkCPUendianQunionunsigned mt a;unsigned char b;c;c.a = 1;return (c.b = = 1);/*iemin 1 : little-endian, return O:big-endian*/7. 定义一个返回值是指向函数的指针且有一个指向函数的指针作参数的函数。通用形式如下:typedef int (*P)();/定义一个函数指针P类型P ftinction( mt (*p)() );/ 定义一个函数返回值P类型,且定义一个指向函数的指针p作参数8. 用预处理指define声明一个常数,用以表明1年中有多少秒

8、(忽略闰年问题)幷define SECONDS_PER_YEAR (60 * 60 * 24 * 365) UL / UL 怎么个用法?你暂不要加9. 写一个“标准”宏MIN ,这个宏输入两个参数并返回较小的一个。存define MIN(A.B) (A) 6)? puts(H 6H): puts(H6,原因是当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。-20成了 一个非常人的正数。此题的输出确实是这样,但单纯输出a+b时结果又是-14很怪异 迷惑!16.评价下面的代码片断:unsigned int zero = 0;unsigned int compzero =

9、OxFFFF;如杲碰巧mt型是16位则上述代码没有问题,否则上面的代码不正确。应写成:unsigned mt compzeio = 0;17下面代码执行后a, b, c的值各是多少?int a = 5, b = 7, c;c = a+-H-b;/ c =(a+) +ba = 6, b = 7, c = 12./吾已试,结果确如此16 Typedef和#(门皿的区别define在预编译的时候处理作机械的字符替换。Typedef在编译的时候处理,并不是作简单的字符替换。而 是如同定义变量一样声明一个类型。然后用它去定义这种类型的变量。比如下面的例子:存define dPS stnict s *ty

10、pedef stnict s * tPS;以上两句都是定义dPS和tPS为一个指向结构s的指针。typedef更好。比如:dPSpl,p2;tPS p3,p4;第一句扩展为struct s *pl,p2;这条代码定义pl为指向结构的指针,p2为一个实际的结构体。第二句定义p3和p4为指向结构体s的指针。/ Vr4w Vr4w,、叫Chapter2编程类 / rjw rjw rfw ryw rjw rjw rjw rjw rfw rjw rjw rjw rjw rjw rjwrjw rjw /1. 在字符串中找出所有与给定字符相同字符的位置。Sinclude char s6=hello;void

11、 search_char(char given)int i二0,j二0;while(si- 0?) if (si=given) printf(location = %dn, i);j+;i+;if(j=O)printf (No %c foundn, given);int main(void)search_char ( o);return 0;/* E*/2. 将一个字符串自身逆序.Sinclude Sdefine LEX 12int main(void)int m, i;char temp;char sLEM二hello tiger; m 二(LENT )/2;printf (%sn/z, s

12、);for(i=0;im;i+)temp二si;si二sLEN-2-i;sLEN-2-i二temp;printf(“$sn,s);return 0;/* E */3. 链表的基本操作及链表自身逆序。/* chain operate from Data Strueture */Sinclude Sinclude Sinclude typedef int DataType;typedef struet NodeDataType data;struetNode *next;SLNode;/ initiatevoid ListInitiate(SLNode *head)exit(l);if( (*head=(SLNode *)malloc(sizeof(SLNode)=NULL ) else printf(0Kn);(*head)-next二NULL;/length calint ListLngth(SLNod

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

当前位置:首页 > 学术论文 > 其它学术论文

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