嵌入式软件工程师笔试题含答案.docx
- 文档编号:15778767
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:9
- 大小:16.83KB
嵌入式软件工程师笔试题含答案.docx
《嵌入式软件工程师笔试题含答案.docx》由会员分享,可在线阅读,更多相关《嵌入式软件工程师笔试题含答案.docx(9页珍藏版)》请在冰点文库上搜索。
嵌入式软件工程师笔试题含答案
嵌入式软件工程师笔试题含答案
选择题
1:
设floata=2,b=4,c=3;,以下C语言表达式与代数式(a+b)+c计算结果不一致的是
A.(a+b)*c/2
B.(1/2)*(a+b)*c
C.(a+b)*c*1/2
D.c/2*(a+b)
参考答案:
B,因为a,b,c三个变量都是浮点数,所以在B答案中其结果是0,因为在计算1/2是就是0,如果改成1/2.0就正确了。
2:
为了向二进制文件尾部增加数据,打开文件的方式应采用
A.″ab″
B.″rb+″
C.″wb″
D.″wb+″
参考答案:
D
3:
下述程序执行后的输出结果是
#include
main()
{
intx='f';
printf("%c\n",'a'+(x-'a'+1));
}
A.g
B.h
C.i
D.j
参考答案:
A
4:
C语言中,下列运算符优先级最高的是
A.!
B.%
C.>>
D.==
参考答案:
A
5:
数组定义为“inta[4];”,表达式()是错误的。
A.*a
B.a[0]
C.a
D.a++
参考答案:
D
6:
执行语句“k=7>>1;”后,变量k的当前值是
A.15
B.31
C.3
D.1
参考答案:
C
7:
定义函数时,缺省函数的类型声明,则函数类型取缺省类型
A.void
B.char
C.float
D.int
参考答案:
D
8:
若main()函数带参数,参数个数最多是
A.0
B.1
C.2
D.3
参考答案:
C只知道有定义形式main(intargc,char*argv[]))
9:
若有宏定义:
#defineMOD(x,y)x%y
则执行以下语句后的输出结果是
inta=13,b=94;
printf(″%d\n″,MOD(b,a+4));
A.5
B.7
C.9
D.11
参考答案:
B
10:
下列各个错误中,哪一个不属于编译错误
A.改变x原值3为5,写作“x==5;”
B.花括号不配对
C.复合语句中的最后一条语句后未加分号
D.变量有引用、无定义
参考答案:
A
11:
下列程序段运行后,x的值是()
a=1;b=2;x=0;
if(!
(--a))x--;
if(!
b)x=7;else++x;
A.0
B.3
C.6
D.7
参考答案:
A
12:
设
#defineN3
#defineY(n)((N+1)*n)
则表达式2*(N+Y(5+1))的值是
A.42
B.48
C.54
D.出错
参考答案:
BY(5+1)传递过去的应该是6,而不是简单的把5+1给替换掉
13:
若定义了charch[]={″abc\0def″},*p=ch;则执行printf(″%c″,*p+4);语句的输出结果是
A.def
B.d
C.e
D.0
参考答案:
C
14:
下列转义字符中错误的是
A.′\000′
B.′\14′
C.′\x111′
D.′\2′
参考答案:
CerrorC2022:
'273':
toobigforcharacter
15:
算术运算符,赋值运算符和关系运算符的运算优先级按从高到低依次为
A.算术运算、赋值运算、关系运算
B.算术运算、关系运算、赋值运算
C.关系运算、赋值运算、算术运算
D.关系运算、算术运算、赋值运算
参考答案:
B
16:
设#defineN3
#defineY(n)((N+1)*n)
则表达式2*(N+Y(5+1))的值是
A.42
B.48
C.54
D.出错
参考答案:
B
17:
表达式strcmp(“3.14”,“3.278”)的值是一个
A.非零整数
B.浮点数
C.0
D.字符
参考答案:
A
18:
设struct
{shorta;
charb;
floatc;
}cs;
则sizeof(cs)的值是
A.4
B.5
C.6
D.7
参考答案:
D字节对齐的话应该是8
19:
若变量已正确定义,表达式(j=3,j++)的值是
A.3
B.4
C.5
D.0
参考答案:
A
20:
C语言中运算对象必须是整型的运算符是
A.%
B./
C.!
D.**
参考答案:
A
简答题
21:
打印一个N*N的'方阵,N为每边字符的个数(3〈N〈20),要求最外层为“X”,第二层为“Y”,从第三层起每层依次打印数字0,1,2,3,...
例子:
当N=5,打印出下面的图形:
XXXXX
XYYYX
XY0YX
XYYYX
XXXXX
22:
谈谈COM的线程模型。
然后讨论进程内/外组件的差别。
23:
多态类中的虚函数表是Compile-Time,还是Run-Time时建立的?
参考答案:
虚拟函数表是在编译期就建立了,各个虚拟函数这时被组织成了一个虚拟函数的入口地址的数组.
而对象的隐藏成员--虚拟函数表指针是在运行期--也就是构造函数被调用时进行初始化的,这是实现多态的关键.
24:
#include
voidmain()
{intc;
while((c=getchar())!
=′\n′)
switch(c-′2′)
{case0:
case1:
putchar(c+4);break;
case2:
putchar(c+4);break;
case3:
putchar(c+3);break;
default:
putchar(c+2);break;
}
printf(″\n″);
}
运行时输入:
2473,输出结果:
参考答案:
6897VC++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+c
intQuadratic(doublea,doubleb,doublec,double&x1,double&x2);
返回值:
解的个数
28:
如何判别一个数是unsigned。
参考答案;
#defineissignal(x)((x>=0&&~x>=0)?
1:
0)//为1是无符号为0有符号
29:
执行下述程序的输出结果是ABCDEFCDEFEF。
#include
charb[]="ABCDEF";
main()
{
char*bp;
for(bp=b;*bp;bp+=2)
printf("%s",bp);
printf("\n");
}
30:
已知一个数组table,用一个宏定义,求出数据的元素个数。
参考答案:
#defineNTBL
#defineNTBL(sizeof(table)/sizeof(table[0]))
1.2016年嵌入式c语言笔试题及答案
2.2016年嵌入式c语言面试题及答案
3.2016年嵌入式系统复习试题及答案
4.2016年计算机四级嵌入式软件开发工程师考试试题及答案
5.华为嵌入式工程师面试题试题及答案
6.嵌入式面试题及答案【C语言】
7.2016最新公司嵌入式考试面试题库
8.嵌入式面试题2016最新
9.2016年华为嵌入式笔试题
10.2016年嵌入式系统开发人员C语言测试题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 软件工程师 笔试 答案