嵌入式软件工程师笔试题(含答案)_嵌入式软件开发笔试题

2020-02-29 其他范文 下载本文

嵌入式软件工程师笔试题(含答案)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“嵌入式软件开发笔试题”。

嵌入式软件工程师笔试题(含答案).txt26选择自信,就是选择豁达坦然,就是选择在名利面前岿然不动,就是选择在势力面前昂首挺胸,撑开自信的帆破流向前,展示搏击的风采。选择题

1:设float a=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()

{

int x='f';

printf(“%cn”,'a'+(x-'a'+1));

}

A.g

B.h

C.i

D.j

参考答案:A

4:C语言中,下列运算符优先级最高的是

A.!

B.%

C.>>

D.= =

参考答案:A

5:数组定义为“ int a [ 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(int argc,char* argv[]))

9:若有宏定义:#define MOD(x,y)x%y

则执行以下语句后的输出结果是

int a=13,b=94;

printf(″%dn″,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:设

#define N 3

#define Y(n)((N+1)*n)

则表达式2*(N+Y(5+1))的值是

A.42

B.48

C.54

D.出错

参考答案:B Y(5+1)传递过去的应该是6,而不是简单的把5+1给替换掉

13:若定义了char ch[]={″abcdef″},*p=ch;则执行printf(″%c″,*p+4);语句的输出结果是

A.def

B.d

C.e

D.0

参考答案:C

14:下列转义字符中错误的是

A.′00′

B.′14′

C.′x111′

D.′2′

参考答案:C error C2022: '273' : too big for character

15:算术运算符,赋值运算符和关系运算符的运算优先级按从高到低依次为

A.算术运算、赋值运算、关系运算

B.算术运算、关系运算、赋值运算

C.关系运算、赋值运算、算术运算

D.关系运算、算术运算、赋值运算

参考答案:B

16:设#define N 3

#define Y(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

{ short a;

char b;

float c;

}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,打印出下面的图形:

X X X X X

X Y Y Y X

X Y 0 Y X

X Y Y Y X

X X X X X

22:谈谈COM的线程模型。然后讨论进程内/外组件的差别。

23:多态类中的虚函数表是Compile-Time,还是Run-Time时建立的?

参考答案:

虚拟函数表是在编译期就建立了,各个虚拟函数这时被组织成了一个虚拟函数的入口地址的数组.而对象的隐藏成员--虚拟函数表指针是在运行期--也就是构造函数被调用时进行初始化的,这是实现多态的关键.24:#include

void 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, 一开始均为空.入队:

将新元素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

int Quadratic(double a,double b,double c,double& x1,double& x2);返回值:解的个数

28:如何判别一个数是unsigned。

参考答案;

#define iignal(x)((x>=0 && ~x>=0)? 1:0)//为1是无符号 为0有符号 29:执行下述程序的输出结果是ABCDEFCDEFEF。

#include

char 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(table[0]))

《嵌入式软件工程师笔试题(含答案).docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
嵌入式软件工程师笔试题(含答案)
点击下载文档
相关专题 嵌入式软件开发笔试题 笔试 嵌入式 软件工程师 嵌入式软件开发笔试题 笔试 嵌入式 软件工程师
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文