软件工程师试题答案(V3.0)_第1页
软件工程师试题答案(V3.0)_第2页
软件工程师试题答案(V3.0)_第3页
软件工程师试题答案(V3.0)_第4页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程师试题答案 (V3.0)软件工程师试题及答案(V3.0 )一、选择题(每题2 分)1、 若某计算机采用8 位整数补码表示数据,则运算_将产生溢出。A.-127+1B.-127-1C.127+1D.127-1答: C2、 编写汇编语言时,下列寄存器中程序员可访问的是_。A. 程序计数器( PC)B.指令寄存器 (IR)C.存储器数据寄存器 (MDR)D.存储器地址寄存器(MAR)答: A3、 设 float a=2, b=4, c=3 ;,以下C 语言表达式与代数式(a+b)+c计算结果不一致的是 _。A.(a+b)*c/2B.(1/2)*(a+b)*cB.(1/2)*(a+b)*cB.

2、(1/2)*(a+b)*c答案: B,因为 a,b,c 三个变量都是浮点数,所以在B 答案中其结果是0,因为在计算 1/2 是就是 0,如果改成 1/2.0 就正确了。4、为了向二进制文件尾部增加数据,打开文件的方式应采用A. abB. rb+ C. wb D. wb+ _。答案: D5、下述程序执行后的输出结果是_。 include main()int x='f' printf("%cn",'a'+(x-'a'+1);A.gB.hC.iD.j答案: A6、决定 C+ 语言中函数的返回值类型的是_。A. return 语句中的

3、表达式类型B. 调用该函数时系统随机产生的类型C. 调用该函数时的主调用函数类型D. 在定义该函数时所指定的数据类型答: D7、在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中 的_。A 1B2C 3D4答: B。关键路径是:( 0)( 2)( 5)( 7)( 8)( 9)12、十进制 102 转换为二进制是 _。A 1100111B 1100110C1100001D101111答: B。102 21222526 ,102 110011013、单元测试一般以白盒为主,测试的依据是_。A 模块功能规格说明B系统模块结构图C系统需求规格说明DABC 都可以答: A。1

4、4、在 SQL 语言的 Select 语句中,用于对结果元组进行排序的是哪一个子句?_。A.GROUP BYB.HA VINGC.ORDER BYD.WHERE答: A。15、关系模型的数据操纵即是建立在关系上的数据操纵,一般有_四种操作;(多选)A.增加; B.删除; C 修改 .; D. 查询; E.存储; F.定时触发答 :ABCD. 常用的关系操作包括查询操作和插入、删除、修改操作两大部分16、下面所示逻辑流,最少需要_个测试用例可将语句覆盖。A.1B.2C.3D.5答: A。17、执行语句 “k=7>>1;”后,变量 k的当前值是 _。A.15B.31C.3D.1答: C

5、。18、定义函数时,缺省函数的类型声明,则函数类型取缺省类型_。A.voidB.charC.floatD.int答: D。19、C语言中,下列运算符优先级最高的是_。A. !B. C.>> D. 答: A。20、表达式 strcmp(“3.14”,“3.278”) 的值是一个 _。A. 非零整数B. 浮点数C.0D.字符答: A。二、问答题:(每题 5 分)1、执行下述程序的输出结果是_。#includechar b="ABCDEF"main()char *bp;for (bp=b;*bp;bp+=2)printf("%s",bp);prin

6、tf("n");答: ABCDEFCDEFEF2、写一个“标准”宏MIN ,这个宏输入两个参数并返回较小的一个。答: #define MIN(A,B) (A) <= (B) (A) : (B)这个测试是为下面的目的而设的:1). 标识 #define 在宏中应用的基本知识。这是很重要的,因为直到嵌入 (inline) 操作符变为标准 C 的一部分,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。2). 三重条件操作符的知识。 这个操作符存在 C 语言中的原因是它使得编译器能产生比 if-then-else更优化的代码

7、,了解这个用法是很重要的。3). 懂得在宏中小心地把参数用括号括起来3、下面的代码输出是什么,为什么?void foo(void)unsigned int a = 6;int b = -20;(a+b > 6) puts("> 6") : puts(" <= 6");答:这个问题测试你是否懂得C 语言中的整数自动转换原则,我发现有些开发者懂得极少这些东西。不管如何,这无符号整型问题的答案是输出是“ >6”。原因是当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。因此 -20 变成了一个非常大的正整数,所以该

8、表达式计算出的结果大于 6。这一点对于应当频繁用到无符号数据类型的嵌入式系统来说是丰常重要的。如果你答错了这个问题,你也就到了得不到这份工作的边缘。4、下面的结构是合法的吗,如果是,运算结束后, a,b,c 的值分别是多少,为什么int a = 5, b = 7, c;c = a+b;答:上面的例子是完全合乎语 法的。问题是编译器如何处理它?水平不高的编译作者实际上会争论这个问题,根据最处 理原则,编译器应当能处理尽可能所有合法的用法。因此,上面的代码被处理成:c = a+ + b;因此 , 这段代码持行后a = 6, b = 7, c = 12 。三、程序题:(每题 10 分)1. 两个 i

9、nt 型的数相除,请写程序计算他们相除后四舍五入的结果, 注意不能使用浮点运算。答:#include "stdio.h"int main()int iDividend, iDivisor;scanf("%d %d", &iDividend, &iDivisor);int iTemp;iTemp = ( iDividend << 1 ) / ( iDivisor );int iAnw;if(iDividend >= 0 && iDivisor > 0) | (iDividend < 0 &

10、;& iDivisor <0)iAnw = (iTemp & 1) ? (iTemp >> 1) + 1) : (iTemp >> 1);elseiAnw = -(iTemp & 1) ? (-iTemp >> 1) + 1) : (-iTemp >> 1);printf("anw:%d", iAnw);return 1;2. 培养池现有一个刚分裂的细胞,这种细胞在分裂的两小时后,每小时都分裂出一个新细胞,新分裂的细胞也按如此规律分裂。如果细胞都不死去,请问到第 12 小时时,培养池共有细胞多少个

11、?请用迭代法写程序求出结果。答案:迭代的公式为 :Un = U(n-1) + U(n-2)程序为:#include "stdio.h"int main()int sum = 0;int un_0 = 1;int un_1 = 1;for(int i = 3; i <= 12; i+)sum = un_1+ un_0;un_0 = un_1;un_1 = sum;printf("ans: %d", sum);return 1;3.根据以下提供的信息编写一段程序:假设有一种控制系统要解析某种工业设备当前的状态信息,解析状态信息的函数头如下:void a

12、(unsigned char *message) .参数 message用来接收外部传入的状态信息。外部状态信息的结构如下:Message:TYPEDATAMessage字段定义:字段字段长度内容1TYPE1消息的类型2DATA依实际长度而定数据Message 消息结构中的 DATA 字段的结构如下:DATA 类型DATA 内容(视具体 DATA 类型而定)DATA 字段定义:字段字段长度内容1DATA 类型1DATA 的类型2DATA 内容依实际长度而定数据设备现已接收了一条系统消息,请在a 函数中写一段代码,要求对 Message消息做如下判断:如果收到的 Message消息的 TYPE

13、值为 0x01时,表示收到的这条消息是 INIT ,继续判断,如果不为 INIT ,返回-1;如果收到的 INIT 的DATA 类型值为 0x01时,则表示 INIT 成功;如果收到的 INIT 的 DATA 类型值为 0x02时,表示 INIT 失败。如果 INIT 成功则调用 b(void) 函数,如果 INIT 失败,则调用 c(void) 函数。答: void a(unsigned char *message)unsigned char *pMessage=message;unsigned char MessageType;unsigned char add;M essageType

14、= *pMessage;pMessage+;add = *pMessage;pMessage+;switch(MessageType)case 0x01 :switch(add)case 0x01 :b();break;case 0x02 :c();return;break;default : break;四、翻译题:( 10分)Like students from other Asian countries and regions, most Chinese students who come to pursue further education in the United States

15、work on their studies most diligently and assiduously. Even on weekends, they would frequently spend one day, or even two days, to work overtime in their laboratories. Therefore, compared with their American counterparts, they are more academically fruitful.My supervisor is of Asian origin who is addicted to alcohols and cigarettes, with a sharp temper. Nevertheless, he highly appreciates the industry and the solid foundational knowledge of Asian students and has a particularly keen insight into the psychology of Asian students. Hence, of all the stude

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论