欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    嵌入式软件工程师笔试题面试宝典Word格式文档下载.docx

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

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    嵌入式软件工程师笔试题面试宝典Word格式文档下载.docx

    1、str1=NULL;/杜绝野指针p=head; q=p-next;while(q!=NULL) temp=q-q-next=p;p=q;q=temp; 这样增加个辅助的指针就行乐。ok 通过编译的代码:stdio.hctype.hstdlib.htypedef struct List int data;struct List *next;List;List *list_create(void) struct List *head,*tail,*p;int e;head=(List *)malloc(sizeof(List);tail=head;printf(nList Create,input

    2、 numbers(end of 0):);scanf(%d,&e);while(e) p=(List *)malloc(sizeof(List);p-data=e;tail-tail=p;next=NULL;return head;List *list_reverse(List *head) List *p,*q,*r;r=q-q=r;head-head=p;void main(void) struct List *head,*p;int d;head=list_create();nfor(p=head-p;p=p-next) -%d-,p-data);head=list_reverse(he

    3、ad);for(p=head; 编写函数数N个BYTE的数据中有多少位是1。解:此题按步骤解:先定位到某一个BYTE数据;再计算其中有多少个1。叠加得解。#incluede#define N 10/定义BYTE类型别名#ifndef BYTEtypedef unsigned char BYTE;#endifint comb(BYTE b,int n)int count=0;int bi,bj;BYTE cc=1,tt;/历遍到第bi个BYTE数据for(bi=0;bin;bi+)/计算该BYTE的8个bit中有多少个1tt=bbi; for(bj=0;bj1;tt=tt/2;return co

    4、unt;/测试int main()BYTE b10=3,3,3,11,1,1,1,1,1,1;comb(b,N) iCount) iCount = iTemp, cpDest = cpTemp;if(!*cpSource) break;+cpSource;return cpDest;string.h/ 自定义函数MyAtoI/ 实现整数字符串转换为证书输出/ 程序不检查字符串的正确性,请用户在调用前检查int MyAtoI(char str)int weight = 1; / 权重int rtn = 0; / 用作返回for(i = strlen(str) - 1; i = 0; i-) rt

    5、n += (stri - 0)* weight; / weight *= 10; / 增重return rtn;void main()char str32;Input a string :gets(str);%dn, MyAtoI(str);#includevoid reverse(char s) /字符串反转 int c, i=0, j; for(j=strlen(s)-1;ij;j-) c=si; si=sj; sj=c; i+; void IntegerToString(char s,int n) int i=0,sign; if(sign=n)0); /如果是负数,补上负号 if(si

    6、gnstatic jmp_buf buf;main() volatile int b; b =3; if(setjmp(buf)!=0) %d , b); exit(0); b=5; longjmp(buf , 1);请问,这段程序的输出是(a) 3(b) 5(c) 0(d) 以上均不是第2题:考查类型转换 struct node int a; int b; int c; ; struct node s= 3, 5,6 ; struct node *pt = &s; , *(int*)pt);这段程序的输出是:(c) 6(d) 7第3题:考查递归调用 int foo ( int x , int

    7、 n) int val; val =1; if (n 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次幂)第4题:考查指针,这道题只适合于那些特别细心且对指针和数组有深入理解的人 int a5 = 1,2,3,4,5; int *ptr = (int*)(&a+1);%d %d , *(a+1), *(ptr-1) );(a) 2 2(b) 2 1(c) 2 5第5题:考查多维数组与指针vo

    8、id foo(int 3 ); int a 33= 1,2,3 , 4,5,6,7,8,9; foo(a); , a21);void foo( int b3) + b; b11 =9;(a) 8(b) 9(c) 7(d)以上均不对第6题目:考查逗号表达式 int a, b,c, d; a=3; c=a,b; d=(a,b);c=%d ,c);d=%d ,d);(a) c=3 d=3(b) c=5 d=3(c) c=3 d=5(d) c=5 d=5第7题:考查指针数组 int a3 = 1,2,3 ,4,5,6; int (*ptr)3 =a;%d %d ,(*ptr)1, (*ptr)2 );

    9、 +ptr;(a) 2 3 5 6(b) 2 3 4 5(c) 4 5 0 0(d) 以上均不对第8题:考查函数指针int *f1(void) int x =10; return(&x);int *f2(void) int*ptr; *ptr =10; return ptr;int *f3(void) int *ptr; ptr=(int*) malloc(sizeof(int);上面这3个函数哪一个最可能引起指针方面的问题(a) 只有 f3(b) 只有f1 and f3(c) 只有f1 and f2(d) f1 , f2 ,f3第9题:考查自加操作(+) int i=3; int j; j

    10、= sizeof(+i+ +i);i=%d j=%d, i ,j);(a) i=4 j=2(b) i=3 j=2(c) i=3 j=4(d) i=3 j=6第10题:考查形式参数,实际参数,指针和数组void f1(int *, int);void f2(int *, int);void(*p2) ( int *, int); p0 = f1; p1 = f2; p0(&a , b);%dt %dt , a ,b); p1(&void f1( int* p , int q) int tmp; tmp =*p; *p = q; q= tmp;void f2( int* p , int q)(a)

    11、 5 5 5 5(b) 3 5 3 5(c) 5 3 5 3(d) 3 3 3 3第11题:考查自减操作(-)void e(int ); e(a);void e(int n) if(n0) e(-n); , 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 fu

    12、nction 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题:数组与指针的区别与联系 char p; char buf10 = 1,2,3,4,5,6,9,8; p = (buf+1)5; , p);(a) 5(

    13、b) 6(c) 9(d) 以上都不对第14题: 考查指针数组的指针Void f(char*); char * argv = ab ,cd , efgh, ijkl f( argv );void f( char *p ) char* t; t= (p+= sizeof(int)-1; printf( %s , t);(a) ab(b) cd(c) ef(d) gh第15题:此题考查的是C的变长参数,就像标准函数库里printf()那样,这个话题一般国内大学课堂是不会讲到的,不会也情有可原呵呵,stdarg.hint ripple ( int , .); int num; num = ripple

    14、 ( 3, 5,7); %d , num);int ripple (int n, .) int i , j; int k; va_list p; k= 0; j = 1; va_start( p , n); for (; j +j) i = va_arg( p , int); i; i &=i-1 ) +k; return k;(a) 7(c) 5(d) 3第16题:考查静态变量的知识int counter (int i) static int count =0; count = count +i; return (count ); for (i=0; i =5; j = counter(i)

    15、;本程序执行到最后,j的值是:(a) 10(b) 15详细参考答案 (b)volatile字面意思是易于挥发的。这个关键字来描述一个变量时,意味着 给该变量赋值(写入)之后,马上再读取,写入的值与读取的值可能不一样,所以说它容易挥发的。这是因为这个变量可能一个寄存器,直接与外部设备相连,你写入之后,该寄存器也有可能被外部设备的写操作所改变;或者,该变量被一个中断程序,或另一个进程改变了.volatile 不会被编译器优化影响,在longjump 后,它的值 是后面假定的变量值,b最后的值是5,所以5被打印出来.setjmp : 设置非局部跳转 /* setjmp.h*/Stores conte

    16、xt information such as register values so that the lomgjmp function can return control to the statement following the one calling setjmp.Returns 0 when it is initially called.Lonjjmp: 执行一个非局部跳转 /* setjmp.h*/Transfers control to the statement where the call to setjmp (which initialized buf) was made.

    17、 Execution continues at this point as if longjmp cannot return the value 0.A nonvolatile automatic variable might be changed by a call to longjmp.When you use setjmp and longjmp, the only automatic variables guaranteed to remain valid are those declared volatile.Note: Test program without volatile qualifier (result may very)更详细介绍,请参阅 C语言的setjmp和longjmp (a)结构题的成员在内存中的地址是按照他们定义的位置顺序依次增长的。如果一个结构体的指针被看成 它的第一个成员的指针,那么该指针的确指向第一个成员此题目较难.这个程序的非递归版本 int what ( int x , int n) int product; pro


    注意事项

    本文(嵌入式软件工程师笔试题面试宝典Word格式文档下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开