



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程师试题及答案(V3.0)一、选择题(每题2分)1、假设某计算机采用8位整数补码表示数据,那么运算将产生溢出.A.-127+1B.-127-1C.127+1D.127-1答:C2、编写汇编语言时,以下存放器中程序员可访问的是.A.程序计数器(PC)B.指令存放器(IR)C.存储器数据存放器(MDR)D.存储器地址存放器(MAR)答:A3、设floata=2,b=4,c=3;,以下C语言表达式与代数式(a+b)+c计算结果不一致的是_.A.(a+b)*c/2B.(1/2)*(a+b)*cB.(1/2)*(a+b)*cB.(1/2)*(a+b)*c答案:B,由于a,b,c三个变量都是浮点数,
2、所以在B答案中其结果是0,由于在计算1/2是就是0,如果改成1/2.0就正确了.4、为了向二进制文件尾部增加数据,翻开文件的方式应采用.A.abB.rb+C.wbD.wb+答案:D5、下述程序执行后的输出结果是.#includemain()intx='f;printf("%cn",'a'+(x-'a'+1);A.gB.hC.iD.j答案:A6、决定C+语言中函数的返回值类型的是.A.?return语句中的表达式类型B.?调用该函数时系统随机产生的类型C.现用该函数时的主调用函数类型D.?在定义该函数时所指定的数据类型答:D7、在公有派
3、生类的成员函数不能直接访问基类中继承来的某个成员,那么该成员一定是基类中?的A.?私有成员B.?公有成员C.?保护成员D.?保护成员或私有成员答:Ao在派生类中基类的保护或者基类公有都可以直接访问,基类的私有成员只能是基类?的成员函数来访问.所以选择A项8、以下程序段运行后,x的值是0a=1;b=2;x=0;if(!(-a)x-;if(!b)x=7;else+x;A.0B.3C.6D.7答:A9、假设变量已正确定义,表达式j=3,j+的值是.A.3B.4C.5D.0答:A10、设structshorta;charb;floatc;cs;贝Usizeofcs的值是oA.4B.5C.6D.7答:D
4、.字节对齐的话应该是811、以下图是一个软件工程的活动图,其中顶点表示工程里程碑,边表示包含的活动,边上的权重表示活动的持续时间,那么里程碑在关键路径上.A.1?B.2?C.3?D.4答:Bo关键路径是:0一2一5一7一8一912、十进制102转换为二进制是.A.1100111B,1100110C,1100001D,101111答:Bo102=21+22+25+26,102=110011013、单元测试一般以白盒为主,测试的依据是.A.模块功能规格说明B.系统模块结构图C.系统需求规格说明D.ABC都可以答:Ao14、在SQL语言的Select语句中,用于对结果元组进行排序的是哪一个子句?.A
5、.GROUPBYB.HAVINGC.ORDERBYD.WHERE答:Ao15、关系模型的数据操纵即是建立在关系上的数据操纵,一般有四种操作;多项选择A.增加;B.删除;C修改.;D.查询;E.存储;F.定时触发答:ABCD.常用的关系操作包括查询操作和插入、删除、修改操作两大局部16、下面所示逻辑流,最少需要个测试用例可将语句覆盖.A.1B.2C.3D.5答:Ao''17、执行语句k=7>>1;后,变量k的当前值是.A.15B.31C.3D.1答:C18、定义函数时,缺省函数的类型声明,那么函数类型取缺省类型.A.voidB.charC.floatD.int答:D1
6、9、C语言中,以下运算符优先级最高的是.A.!B.%C.>>D.=答:Ao20、表达式strcmp3.14",3.278"的值是一个.A.非零整数B.浮点数C.0D.字符答:Ao二、问做题:每题5分1、执行下述程序的输出结果是.#includecharb尸ABCDEF"main()(char*bp;for(bp=b;*bp;bp+=2)printf("%s",bp);printf("n");答:ABCDEFCDEFEF2、写一个“标准宏MIN,这个宏输入两个参数并返回较小的一个.答:#defineMIN(A,B)
7、(A)<=(B)(A):(B)这个测试是为下面的目的而设的:1) .标识#define在宏中应用的根本知识.这是很重要的,由于直到嵌入(inline)操作符变为标准C的一局部,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能到达要求的性能,嵌入代码经常是必须的方法.2) .三重条件操作符的知识.这个操作符存在C语言中的原因是它使得编译器能产生比if-then-else更优化的代码,了解这个用法是很重要的.3) .懂得在宏中小心地把参数用括号括起来3、下面的代码输出是什么,为什么?J,voidfoo(void)(unsignedinta=6;intb=-20;(a+b>6)
8、puts(">6"):puts("<=6");答:这个问题测试你是否懂得C语言中的整数自动转换原那么,我发现有些开发者懂得极少这些东西.不管如何,这无符号整型问题的答案是输出是“>6.原因是当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型.因此-20变成了一个非常大的正整数,所以该表达式计算出的结果大于6.这一点对于应当频繁用到无符号数据类型的嵌入式系统来说是丰常重要的.如果你答错了这个问题,你也就到了得不到这份工作的边缘.4、下面的结构是合法的吗,如果是,运算结束后,a,b,c的值分别是多少,为什么inta=5
9、,b=7,c;c=a+b;答:上面的例子是完全符合语法的.问题是编译器如何处理它?水平不高的编译作者实际上会争论这个问题,根据最处理原那么,编译器应当能处理尽可能所有合法的用法.因此,上面的代码被处理成:c=a+b;因此,这段代码持行后a=6,b=7,c=12.三、程序题:(每题10分)1 .两个int型的数相除,请写程序计算他们相除后四舍五入的结果,注意不能使用浮点运算.答:#include"stdio.h"intmain()(intiDividend,iDivisor;scanf("%d%d",&iDividend,&iDivisor
10、);intiTemp;iTemp=(iDividend<<1)/(iDivisor);intiAnw;if(iDividend>=0&&iDivisor>0)|(iDividend<0&&iDivisor<0)iAnw=(iTemp&1)?(iTemp>>1)+1):(iTemp>>1);elseiAnw=-(iTemp&1)?(-iTemp>>1)+1):(-iTemp>>1);printf("anw:%d",iAnw);return1;2
11、.培养池现有一个刚分裂的细胞,这种细胞在分裂的两小时后,每小时都分裂出一个新细胞,新分裂的细胞也按如此规律分裂.如果细胞都不死去,请问到第12小时时,培养池共有细胞多少个?请用迭代法写程序求出结果.答案:迭代的公式为:Un=U(n-1)+U(n-2)程序为:#include"stdio.h"intmain()intsum=0;intun_0=1;intun_1=1;for(inti=3;i<=12;i+)sum=un1+un0;_un_0=un_1;un_1=sum;.printf("ans:%d",sum);return1;3 .根据以下提供的信
12、息编写一段程序:假设有一种限制系统要解析某种工业设备当前的状态信息,解析状态信息的函数头如下:voida(unsignedchar*message)TYPEDATAMessage字段定义:字段字段长度内容1TYPEp消息的类型2DATA依实际长度而定数据参数message用来接收外部传入的状态信息.外部状态信息的结构如下:MessageMessage消息结才中的DATA字段的结构如下:DATA类型DATA内容视具体DATA类型而定DATA字段定义:字段字段长度内容1DATA类型:DATA的类型:2DATA内容依实际长度而定数据设备现已接收了一条系统消息,请在a函数中写一段代码,要求对Messa
13、ge消息做如下判断:如果收到的Messag百肖息,的TYPE值为0x01时,表示收到的这条消息是INIT,继续判断,如果不为INIT,返回-1;如果收到的INIT的DATA类型值为0x01时,那么表示INIT成功;如果收到的INIT的DATA类型值为0x02时,表示INIT失败.如果INIT成功那么调用b(void)函数,如果INIT失败,那么调用c(void)函数.答:voida(unsignedchar*message)Iunsignedchar*pMessage=message;unsignedcharMessageType;unsignedcharadd;I-,MessageType=
14、*pMessage;pMessage+;add=*pMessage;pMessage+;switch(MessageType)case0x01:switch(add)case0x01:b();break;case0x02:c();return;break;default:break;四、译题:(10分)LikestudentsfromotherAsiancountriesandregions,mostChinesestudentswhocometopursuefurthereducationintheUnitedStatesworkontheirstudiesmostdiligentlyand
15、assiduously.Evenonweekends,theywouldfrequentlyspendoneday,oreventwodays,toworkovertimeintheirlaboratories.Therefore,comparedwiththeirAmericancounterparts,theyaremoreacademicallyfruitful.MysupervisorisofAsianoriginwhoisaddictedtoalcoholsandcigarettes,withasharptemper.Nevertheless,hehighlyappreciatestheindustryandthesolidfoundationalknowledgeofAsianstudentsandhasaparticularlykeeninsightintothepsychologyofAsianstudents.Hence,ofal
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论