版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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&qu
2、ot;,'a'+(x-'a'+1);A.gB.hC.iD.j参考答案:A4:C语言中,下列运算符优先级最高的是A.!B.%C.>>D.= =参考答案:A5:数组定义为“ int a 4 ; ”,表达式 ( ) 是错误的。A.*aB.a 0 C.aD.a+参考答案:D6:执行语句“ k=7>>1; ”后,变量 k 的当前值是A.15B.31C.3D.1参考答案:C7:定义函数时,缺省函数的类型声明,则函数类型取缺省类型A.voidB.charC.floatD.int参考答案:D8:若main()函数带参数,参数个数最多是A.0B.1C.2D
3、.3参考答案:C 只知道有定义形式main(int argc,char* argv)9:若有宏定义:#define MOD(x,y) x%y则执行以下语句后的输出结果是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.0
4、B.3C.6D.7参考答案:A12:设#define N 3#define Y(n) (N+1)*n)则表达式2*(N+Y(5+1)的值是A.42B.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:算术运算符,赋值运
5、算符和关系运算符的运算优先级按从高到低依次为A.算术运算、赋值运算、关系运算B.算术运算、关系运算、赋值运算C.关系运算、赋值运算、算术运算D.关系运算、算术运算、赋值运算参考答案: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参考答
6、案: D 字节对齐的话应该是819:若变量已正确定义,表达式( j=3 , j+ )的值是A.3B.4C.5D.0参考答案:A20:C 语言中运算对象必须是整型的运算符是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
7、,还是Run-Time时建立的?参考答案:虚拟函数表是在编译期就建立了,各个虚拟函数这时被组织成了一个虚拟函数的入口地址的数组.而对象的隐藏成员-虚拟函数表指针是在运行期-也就是构造函数被调用时进行初始化的,这是实现多态的关键.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
8、( n );运行时输入: 2473 ,输出结果:参考答案:6897 VC+6.0测试过25:用两个栈实现一个队列的功能?参考答案:设2个栈为A,B, 一开始均为空.入队:将新元素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&am
9、p; 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 (bp=b;*bp;bp+=2)printf("%s",bp);printf("n");30:已知一个数组table,用一个宏定义,求出数据的元素个数。参考答案:#define NTBL#define NTBL (sizeof(table)/sizeof(table0)1.2016年嵌入式c语言笔试题及答案2.2016年嵌入式c语言面试题及答案3.201
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025标准的劳动合同
- 城市公园生态水池施工合同
- 医院特殊电气工程安装合同
- 美容院装修泥工施工合同模板
- 医疗械加工厂合同样本
- 农庄住宿服务合同样本
- 服装店视觉设计师合同
- 制药业原料储存罐施工合同
- 体育馆供水管道铺设工程施工合同
- 农田灌溉沟渠施工合同
- 2024年度上海浦东国际机场免税店经营合同2篇
- 2024-2030年中国建筑施工行业发展状况规划分析报告
- 2025年1月“八省联考”考前猜想卷英语试题01 含解析
- 企业行政总监个人简历范文
- 2024版智能水务管理系统设计与施工合同3篇
- 学校比学赶超实施方案样本(3篇)
- 冬季物业安全管理培训
- 鲁迅先生的生平及其背景
- 2025年1月“八省联考”考前猜想卷(含答案解析)
- 《红楼梦》十二讲知到智慧树期末考试答案题库2024年秋安徽师范大学
- 《荷塘月色》课件25张-
评论
0/150
提交评论