下载此文档

软件工程施工师试题答案v3.0.doc


文档分类:管理/人力资源 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
-
. z.
软件工程师试题及答案〔〕
一、选择题〔每题2分〕
假设*计算机采用8位整数补码表示数据,则运算____将产生溢出。
A.-127+1 B.-127-1值是一个_____。

答:A。
二、问答题:〔每题5分〕
1、执行下述程序的输出结果是______。
-
. z.
*include
char b[]="ABCDEF";
main()
{
char *bp;
for (bp=b;*bp;bp+=2)
printf("%s",bp);
printf("\n");
}
答:ABCDEFCDEFEF
2、写一个“标准〞宏MIN,这个宏输入两个参数并返回较小的一个。
答:*define MIN(A,B) ((A) <= (B) (A) : (B))
这个测试是为下面的目的而设的:
1). 标识*define在宏中应用的根本知识。这是很重要的,因为直到嵌入(inline)操作符变
为标准C的一局部,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能到达要求的性能,嵌入代码经常是必须的方法。
2). 三重条件操作符的知识。这个操作符存在C语言中的原因是它使得编译器能产生比if-
then-else更优化的代码,了解这个用法是很重要的。
3). 懂得在宏中小心地把参数用括号括起来
3、下面的代码输出是什么,为什么.
-
. z.
void foo(void)
{
unsigned int a = 6;
int b = -20;
(a+b > 6) puts("> 6") : puts(" <= 6");
}
答:这个问题测试你是否懂得C语言中的整数自动转换原则,我发现有些开发者懂得极少这些东西。不管如何,这无符号整型问题的答案是输出是“>6〞。原因是当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。因此-20变成了一个非常大
的正整数,所以该表达式计算出的结果大于6。这一点对于应当频繁用到无符号数据类型的嵌入式系统来说是丰常重要的。如果你答错了这个问题,你也就到了得不到这份工作的边缘。
4、下面的构造是合法的吗,如果是,运算完毕后,a,b,c的值分别是多少,为什么
int a = 5, b = 7, c;
c = a+++b;
答:上面的例子是完全符合语 法的。,根据最处 理原则,编译器应当能处理尽可能所有合法的用法。因此,上面的代码被处理成:
c = a++ + b;
因此, 这段代码持行后a = 6, b = 7, c = 12。
-
. z.
三、程序题:〔每题10分〕
1. 两个int型的数相除,请写程序计算他们相除后四舍五入的结果,注意不能使用浮点运算。
答:
*include ""
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 && iDivisor < 0))
iAnw = (iTemp & 1) " ((iTemp >> 1) + 1) : (iTemp >> 1);
else
iAnw = -((iTemp & 1) " ((-iTemp >> 1) + 1) : (-iTemp >> 1));
printf("anw:%d", iAnw);
return 1;
}
2. 培养池现有一个刚分裂的细胞,这种细胞在分裂的两小时后,每小时都分裂出一个新细胞,新分裂的细胞也按如此规律分裂。如果细胞都不死去,请问到第12小时时,。
-
. z.
答案: 迭代的公式为:
Un = U(n-1) + U(n-2)
程序为:
*include ""
int main()
{
int sum = 0;

软件工程施工师试题答案v3.0 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人gdntv68
  • 文件大小47 KB
  • 时间2022-02-23