答案:A
解析:【解析】填空1:根据题目的意思,此处是要确定折半查找的中间位置,所以应该填(low+high)/2,这个式子的运算结果为整型数据。填空2:由折半查找的算法可得,中间的元素值大,则应该选择前半段进行查找,所以此处应该把mid前一位的下标赋值给high。填空3:由算法可以看出,此处应该是所有执行完毕,仍然没有找到满足条件的元素,此时应当返回-1,所以使用关键字“return”。
答案:A
解析:【解析】填空1:根据题目的意思,此处是要确定折半查找的中间位置,所以应该填(low+high)/2,这个式子的运算结果为整型数据。填空2:由折半查找的算法可得,中间的元素值大,则应该选择前半段进行查找,所以此处应该把mid前一位的下标赋值给high。填空3:由算法可以看出,此处应该是所有执行完毕,仍然没有找到满足条件的元素,此时应当返回-1,所以使用关键字“return”。
A. 1
B. 0
C. 2
D. -1
解析:【解析】“=”优先级低于“<”、“>”。“&&”逻辑与表达式。exp1&&exp2,规则为:对exp1求值,若为0,则表达式为0,则不计算exp2;若exp1非0,则求exp2值,作为表达式值。本题计算过程为:先判断a>b为假,m=0,整个逻辑表达式为假,不计算右表达式,n=2。答案选择C选项。
A. O(n1.5)
B. O(nlog2n)
C. O(n(n-1)/2)
D. O(log2n)
解析:【解析】堆排序是指利用堆积树这种数据结构所设计的一种排序算法,属于选择排序。在对长度为n的线性表排序时,最坏情况下,冒泡排序、快速排序、直接插入排序的时间复杂度均为O(n2),而堆排序时间复杂度为O(nlog2n),复杂度最小。答案选择B选项。
A. 3.000000
B. 3.141500
C. 0.141500
D. 0.000000
解析:【解析】在fun函数中,x=a-(int)a表示x取值为a的小数部分,因此,输入a为
A. 1245
B. 1256
C. 1278
D. 1267
解析:【解析】scanf是格式化输入函数;getehar函数从键盘缓冲区读入下一个字符;putchar输出一个字符;printf函数是格式化输出函数。在题目中,程序执行到scanf函数时,会暂停等待用户输入4个字符,按题意输入123<回车>后,字符'1'~'3'被分别赋值到c1~c3中,而c4会得到一个换行符'\n'。然后执行第1个getchar函数,由于前面的scanf函数读完了缓冲区中的所有字符,所以此时程序又会暂停等待用户输入,按题意输入
A. x/y*z
B. x%y%z
C. x/y/z
D. x*z/y
解析:【解析】%是取余运算符,不符合。运算符*、/的结合顺序是从左到右,所以x先除以y,再除以z。答案选择C选项。
A. N-S图
B. DFD图
C. PAD图
D. 程序流程图
解析:【解析】结构化解析方法是结构化程序设计理论在软件需求解析阶段的运用,
A. 逻辑设计
B. 需求分析
C. 详细设计
D. 物理设计
解析:【解析】软件开发阶段包括:①需求分析;②总体设计;③详细设计;④编码;⑤测试。其中,需求分析阶段常用的工具有数据流图(DFD)和数据字典(DD)。答案选择B选项。
A. 0,0
B. 1,0
C. 3,2
D. 1,2
解析:【解析】main函数先为a、b赋值,然后做运算a+b结果赋值给b,此时b为1,并将b打印出来。接着做运算2*b结果为2*1=2赋值给a,将a打印出来,所以 终的输出结果为1,2。答案选择D选项。
A. 需求获取
B. 需求计划
C. 需求分析
D. 需求评审
解析:【解析】需求分析阶段的工作包括:①需求获取;②需求分析;③编写需求规格说明书;④需求评审。答案选择B选项。
A. T=R/S
B. T=R×S
C. T=R∩S
D. T=R∪S
解析:【解析】交运算的结果是既属于R又属于S的记录组成的集合。关系T中的元组既是关系R中的元组,又是S中的元组,所以运算为交(∩)。并运算将结构相同的两个关系合并,合并后的关系包含两个关系中的所有元组。答案选择C选项。