嵌入式软件工程师综合测试试题答案.docxVIP

嵌入式软件工程师综合测试试题答案.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

精品word

精品word文档值得下载值得拥有

精品word

精品word文档值得下载值得拥有

综合复习试题

一、请填写BOOL,float,指针变量与“零值”比较的if语句。

一、请填写BOOL,float,指针变量与“零值”比较的if语句。

提示:这里“零值”可以是0,0.0,FALSE或者“空指针”。例如int变量n与“零值”比较的if语句为:

if(n==0)if(n!=0)

请写出BOOL flag

请写出BOOL flag与“零值”比较的if语句:if(flag)

if(!flag)

请写出float x与“零值”比较的if语句:标准答案示例:

constfloatEPSINON=0.00001;

if((x=-EPSINON)(x=EPSINON)

不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“=”或“=”此类形式。

请写出char *p与“零值”比较的if语句:标准答案:

if(p==NULL)if(p!=NULL)

二、以下为

二、以下为WindowsNT下的32位C++程序,请计算sizeof的值

char

str[]=“Hello”

;

voidFunc(charstr[100])

char

*p=str;

{

int

n=10;

请计算

请计算

sizeof(str)=

4

sizeof

(str

)=

6

}

sizeof

(p)=

4

void*p=malloc(100

);

sizeof

(n)=

4

请计算

sizeof(p)=

4

三、简答题

1

1、头文件中的ifndef/define/endif干什么用?

答:防止该头文件被重复引用。

2、#include

2、#include filename.h

和 #include“filename.h”有什么区别?

答:对于#include filename.h,编译器从标准库路径开始搜索filename.h

对于#include“filename.h”,编译器从用户的工作路径开始搜索filename.h

3、const

3、const有什么用途?(请至少说明两种)

答:

可以定义const常量

const可以修饰函数的参数、返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。

4

4、在C++程序中调用被C编译器编译后的函数,为什么要加extern“C”声明?

答:C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字

与C语言的不同。假设某个函数的原型为:voidfoo(intx,inty);该函数被C编译器编译后在库中的名字为_foo,而C++编译器则会产生像

_foo_int_int之类的名字。

C++提供了C连接交换指定符号extern“C”来解决名字匹配问题。

5

5、请简述以下两个for循环的优缺点

//第一个

for(i=0;

iN;i++)

//

if

第二个

(condition)

{

{

if(condition)

for(i=0;iN;i++)

DoSomething();

DoSomething();

else

}

DoOtherthing();}优点:

DoOtherthing();

}

优点:程序简洁

else

{

for(i=0;iN;i++)DoOtherthing();

}

优点:循环的效率高

缺点:多执行了N-1次逻辑判断,并缺点:程序不简洁

打断了循环“流水线”作业,使得编译

器不能对循环进行优化处理,降低了效

率。

voidGetMemory(char*p) char*GetMemory(void)

{ {

p=(char*)malloc(100); charp[]=helloworld;

} returnp;

voidTest(void) }

{ voidTest(void)

char*str=NULL; {

GetMemory(str); char*str=NULL;strcpy(str,helloworld); str=GetMemory();printf(str); printf(str);

} }

请问运行Test函数会有什么样的结请问运行Test函数会有什么样的结果? 果?

答:程序崩

文档评论(0)

8d758 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档