嵌入式软件工程师笔试题(含答案)_第1页
嵌入式软件工程师笔试题(含答案)_第2页
嵌入式软件工程师笔试题(含答案)_第3页
嵌入式软件工程师笔试题(含答案)_第4页
嵌入式软件工程师笔试题(含答案)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.:.;选择题1:设float a=2, b=4, c=3;,以下C言语表达式与代数式 (a+b)+c计算结果不一致的是A.(a+b)*c/2B.(1/2)*(a+b)*cC.(a+b)*c*1/2D.c/2*(a+b)参考答案:B,由于a,b,c三个变量都是浮点数,所以在B答案中其结果是0,由于在计算1/2是就是0,假设改成1/2.0就正确了。2:为了向二进制文件尾部添加数据,翻开文件的方式应采用A.abB.rb+C.wbD.wb+参考答案:D3:下述程序执行后的输出结果是includemain()int x=f;printf(%cn,a+(x-a+1);A.gB.hC.iD.j参考答案:A

2、4:C言语中,以下运算符优先级最高的是A.!B.C.D. 参考答案:A5:数组定义为“ int a 4 ; ,表达式 ( ) 是错误的。A.*aB.a 0 C.aD.a+参考答案:D6:执行语句“ k=71; 后,变量 k 的当前值是A.15B.31C.3D.1参考答案:C7:定义函数时,缺省函数的类型声明,那么函数类型取缺省类型A.voidB.charC.floatD.int参考答案:D8:假设main函数带参数,参数个数最多是A.0B.1C.2D.3参考答案:C 只知道有定义方式main(int argc,char* argv)9:假设有宏定义:#define MOD(x,y) xy那么执

3、行以下语句后的输出结果是int a=13,b=94;printf(dn,MOD(b,a+4);A.5B.7C.9D.11参考答案:B10:以下各个错误中,哪一个不属于编译错误A.改动 x 原值 3 为 5 ,写作“ x=5 ;B.花括号不配对C.复合语句中的最后一条语句后未加分号D.变量有援用、无定义参考答案:A11:以下程序段运转后, x 的值是( )a=1;b=2;x=0;if(!( - a)x - ;if(!b)x=7;else +x;A.0B.3C.6D.7参考答案:A12:设#define N 3#define Y(n) (N+1)*n)那么表达式2*(N+Y(5+1)的值是A.42

4、B.48C.54D.出错参考答案:B Y(5+1) 传送过去的应该是6,而不是简单的把5+1给交换掉13:假设定义了char ch=abc0def,*p=ch;那么执行printf(%c,*p+4);语句的输出结果是A.defB.dC.eD.0参考答案:C14:以下本义字符中错误的选项是A.000B.14C.x111D.2参考答案:C error C2022: 273 : too big for character15:算术运算符,赋值运算符和关系运算符的运算优先级按从高到低依次为A.算术运算、赋值运算、关系运算B.算术运算、关系运算、赋值运算C.关系运算、赋值运算、算术运算D.关系运算、算术

5、运算、赋值运算参考答案:B16:设#define N 3#define Y(n) (N+1)*n)那么表达式2*(N+Y(5+1)的值是A.42B.48C.54D.出错参考答案:B17:表达式 strcmp( “ 3.14 ,“ 3.278 ) 的值是一个A.非零整数B.浮点数C.0D.字符参考答案: A18:设struct short a;char b;float c;cs;那么sizeof(cs)的值是A.4B.5C.6D.7参考答案: D 字节对齐的话应该是819:假设变量已正确定义,表达式( j=3 , j+ )的值是A.3B.4C.5D.0参考答案:A20:C 言语中运算对象必需是整

6、型的运算符是A.%B./C.!D.*参考答案:A简答题21:打印一个N*N的方阵,N为每边字符的个数 3N20 ,要求最外层为“X,第二层为“Y,从第三层起每层依次打印数字0,1,2,3,.例子:当N =5,打印出下面的图形:X X X X XX Y Y Y XX Y 0 Y XX Y Y Y XX X X X X22:谈谈COM的线程模型。然后讨论进程内/外组件的差别。23:多态类中的虚函数表是Compile-Time,还是Run-Time时建立的?参考答案:虚拟函数表是在编译期就建立了,各个虚拟函数这时被组织成了一个虚拟函数的入口地址的数组.而对象的隐藏成员-虚拟函数表指针是在运转期-也就

7、是构造函数被调用时进展初始化的,这是实现多态的关键.24:#includevoid main() int c;while (c=getchar()!= n )switch(c - 2 ) case 0:case 1:putchar(c+4);break;case 2:putchar(c+4);break;case 3:putchar(c+3);break;default:putchar(c+2);break;printf( n );运转时输入: 2473 ,输出结果:参考答案:6897 VC+6.0测试过25:用两个栈实现一个队列的功能?参考答案:设2个栈为A,B, 一开场均为空.入队:将新元

8、素push入栈A;出队:(1)判别栈B能否为空;(2)假设不为空,那么将栈A中一切元素依次pop出并push到栈B;(3)将栈B的栈顶元素pop出;这样实现的队列入队和出队的平摊复杂度都还是O(1),26:写一语句实现x能否为2的假设干次幂的判别。参考答案:!(X)&(X-1)27:解二次方程:a*x*x+b*x+cint Quadratic( double a,double b,double c,double& x1,double& x2);前往值:解的个数28:如何判别一个数是unsigned。参考答案;#define issignal(x) (x=0 & x=0) ? 1:0) /为1是无符号 为0有符号29:执行下述程序的输出结果是 ABCDEFCDEFEF 。#includechar b=ABCDEF;main()char *bp;for

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论