电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

嵌入式软件工程师笔试题580460180

  • 资源ID:40642163       资源大小:71.50KB        全文页数:17页
  • 资源格式: DOC        下载积分:20金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要20金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

嵌入式软件工程师笔试题580460180

嵌入式软件工程师笔试题嵌入式软件工程师笔试题 1、将一个字符串逆序 2、将一个链表逆序 3、计算一个字节里(byte)里面有多少 bit 被置 1 4、搜索给定的字节(byte) 5、在一个字符串中找到可能的最长的子字符串 6、字符串转换为整数 7、整数转换为字符串1、c51 单片机的串口异步通信和同步通信的区别,说说他们的优缺点。2、C51 单片机的数据总线和地址总线是如何复用的,说明原理。3、C51 单片机的绝对寻址范围是多少 k?4、说明下面的寻址方式(1)MOV A , #30H (2)MOV A,R0(3)ADD A , R4 (4)MOV A+DPTR5、写出下面分别是什么指针? (1)int *a10; (2)int (*a)10; (3)int (*P)(int) ; (4)int (*a10)(int);6、void swap(int a,int b)int temp;temp = a;a=b;b=temp;main(void)int x=“3“,y=4;swap(x,y);问 上面程序执行完后 x= ?,y=?7、typedef struct testint i;short s;char c;unionint a;short b;example ;int y ;y = sizeof(example);请问在 TC 环境下,y=?8、编程实现数组的逆置,例如,“hello,world!” 逆置后为“!dlrow,olleh”。9、你认为嵌入式操作系统包括哪些部分?说说实时操作系统有哪些特点。10、冯诺依曼结构的计算机由哪几部分组成?11、说说程序,进程,线程的区别。12、说说你怎样理解程序 = 数据 + 结构 + 算法13、根据函数原型编程实现 一个数组,按从大到小的冒泡排序。void tibbule(int a,int n);/a为数组,n 为数组长度14、OSI 有哪几层?tcp/ip 包括哪几层?15、编程实现一个双链表的节点插入和删除。5。写一个数据类型:一个有 10 个指针的数组,该指针指向一个函数,该函数 有一个整型参数并返回一个整型数。6。嵌入式系统总是要用户对变量或寄存器进行位操作。给定一个整型变量 a, 写两段代码,第一个设置 a的 bit 3,第二个清除 a 的 bit 3。在以上两个操作中,要保持其它位不变。7。嵌入式系统经常具有要求程序员去访问某特定的内存位置的特点。在某工 程中,要求设置一绝对地址为 0x67a9 的整型变量的值为 0xaa66。编译器是一个纯粹的 ANSI 编译器。 写代码去完成这一任务。8。字符串倒序。9。float a,b,c 问下列两个的值:(a+b)+c = (b+a)+c(a+b)+c = (a+c)+b 10。关键字 static 的作用是什么?关键字 const 有什么含意?11。关键字 volatile 有什么含意?并给出三个不同的例子。1)一个参数既可以是 const 还可以是 volatile 吗?解释为什么。2) 一个指针可以是 volatile 吗?解释为什么。3)下面的函数有什么错误:int square(volatile int *ptr)return *ptr * *ptr; 12。嵌入式系统经常具有要求程序员去访问某特定的内存位置的特点。在某工 程中,要求设置一绝对地址为 0x67a9 的整型变量的值为 0xaa66。编译器是一个纯粹的 ANSI 编译器。 写代码去完成这一任务。13。动态内存分配 下面的代码片段的输出是什么,为什么?char *ptr;if (ptr = (char *)malloc(0) = NULL) puts(“Got a null pointer“);elseputs(“Got a valid pointer“); 14。Typedef 在 C 语言中频繁用以声明一个已经存在的数据类型的同义字。 也可以用预处理器做类似的事。例如,思考一下下面的例子:#define dPS struct s *typedef struct s * tPS; 以上两种情况的意图都是要定义 dPS 和 tPS 作为一个指向结构 s 指针。哪种 方法更好呢?(如果有的话)为什么?15。中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供一种 扩展让标准 C 支持中断。具代表事实是,产生了一个新的关键字 _interrupt。下面的代码就使用了 _interrupt 关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的。_interrupt double compute_area (double radius) double area = PI * radius * radius;printf(“nArea = %f“, area);return area;16。下面的代码输出是什么,为什么?void foo(void)unsigned int a = 6;int b = -20;(a+b > 6) ? puts(“> 6“) : puts(“0) if (n%2 = 1) val = val *x; val = val * foo(x*x , n/2); return val; 这段代码对 x 和 n 完成什么样的功能(操作)? (a) xn (x 的 n 次幂) (b) x*n(x 与 n 的乘积) (c) nx(n 的 x 次幂) (d) 以上均不是第 4 题:考查指针,这道题只适合于那些特别细心且对指针和数组有深入理解的 人 main() int a5 = 1,2,3,4,5; int *ptr = (int*)(printf(“%d %d“ , *(a+1), *(ptr-1); 这段程序的输出是: (a) 2 2 (b) 2 1 (c) 2 5 (d) 以上均不是第 5 题:考查多维数组与指针 void foo(int 3); main() int a 33= 1,2,3 , 4,5,6,7,8,9; foo(a); printf(“%d“ , a21); void foo(int b3) + b; b11 =9; 这段程序的输出是: (a) 8 (b) 9 (c) 7 (d)以上均不对第 6 题:考查逗号表达式 main() int a, b,c, d; a=3; b=5; c=a,b; d=(a,b);printf(“c=%d“ ,c); printf(“d=%d“ ,d); 这段程序的输出是: (a) c=3 d=3 (b) c=5 d=3 (c) c=3 d=5 (d) c=5 d=5 第 7 题:考查指针数组 main() int a3 = 1,2,3,4,5,6; int (*ptr)3 = a;printf(“%d %d “, (*ptr)1, (*ptr)2); +ptr; printf(“%d %d“ , (*ptr)1, (*ptr)2); 这段程序的输出是: (a) 2 3 5 6 (b) 2 3 4 5 (c) 4 5 0 0 (d) 以上均不对第 8 题:考查函数指针 int *f1(void) int x =10; return( int *f2(void) int*ptr; *ptr =10; return ptr; int *f3(void) int *ptr; ptr=(int*) malloc(sizeof(int); return ptr; 上面这 3 个函数哪一个最可能引起引起指针方面的问题问题 (a) 只有 f3 (b) 只有 f1 and f3 (c) 只有 f1 and f2 f1 返回的是局部变量,程序结束后自动销毁,无意义, f2 是常见的野指针 (d) f1 , f2 ,f3 第 9 题:考查自加操作(+) main() int i=3; int j;j = sizeof(+i+ +i);printf(“i=%d j=%d“, i ,j); 这段程序的输出是: (a) i=4 j=2 (b) i=3 j=2 sizeof 操作符给出其操作数需要占用的空间大小,它是在 编译时就可确定的,所以其操作数即使是一个表达式,也不需要在运行时进行 计算.( +i + + i )是不会执行的,所以i 的值还是 3 (c) i=3 j=4 (d) i=3 j=6 第 10 题:考查形式参数, 实际参数, 指针和数组 void f1(int *, int); void f2(int *, int); void(*p2) (int *, int); main() int a; int b;p0 = f1; p1 = f2;a=3; b=5;p0( printf(“%dt %dt“, a, b); p1( printf(“%dt %dt“, a, b); void f1(int* p , int q) int tmp; tmp =*p; *p = q; q= tmp; void f2(int* p , int q) int tmp; tmp =*p; *p = q; q= tmp; 这段程序的输出是: (a) 5 5 5 5 (b) 3 5 3 5 (c) 5 3 5 3 (d) 3 3 3 3 第 11 题:考查自减操作(-) void e(int ); main() int a; a=3; e(a); void e(int n) if(n>0) e(-n); printf(“%d“, n); e(-n); 这段程序的输出是: (a) 0 1 2 0 (b) 0 1 2 1 (c) 1 2 0 1 (d) 0 2 1 1 第 12 题:考查 typedef 类型定义,函数指针 typedef int (*test) ( float * , float*) test tmp; tmp 的类型是 (a) 函数的指针, 该函数以两个指向浮点数(float)的指针(pointer)作为参数 (arguments) Pointer to function of having two arguments that is pointer to float (b) 整型 (c) 函数的指针, 该函数以两个指向浮点数(float)的指针(pointer)作为参数 (arguments),并且函数的返回值类型是整型 Pointer to function having two argument that is pointer to float and return int (d) 以上都不是第 13 题:数组与指针的区别与联系 main() char p; char buf10 = 1,2,3,4,5,6,9,8; p = (buf+1)5; printf(“%d“ , p); 这段程序的输出是: (a) 5 (b) 6 (c) 9 (d) 以上都不对第 14 题: 考查指针数组的指针 void f(char*); main() char * argv

注意事项

本文(嵌入式软件工程师笔试题580460180)为本站会员(繁星)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.